diff options
author | Campbell Barton <ideasman42@gmail.com> | 2007-11-06 22:56:25 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2007-11-06 22:56:25 +0300 |
commit | 94e8a05ba6ebf490586a14ba7ca3f7d7ab8ec824 (patch) | |
tree | a57039fa592cf0f5af3738a9624d0b0ccbf20ec0 /source | |
parent | 2ad21e22860a3c1ff365310493a25f77dc18a47d (diff) |
curve selection wasnt checking if the screen coords were clipped. made selecting off screen verts possible. This looks like an old bug (at least it existed before I added
hide handles option).
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/src/drawobject.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/source/blender/src/drawobject.c b/source/blender/src/drawobject.c index 3cb42fd6b1b..f7fcb54297b 100644 --- a/source/blender/src/drawobject.c +++ b/source/blender/src/drawobject.c @@ -1359,14 +1359,18 @@ void nurbs_foreachScreenVert(void (*func)(void *userData, Nurb *nu, BPoint *bp, if(bezt->hide==0) { if (G.f & G_HIDDENHANDLES) { view3d_project_short_clip(curarea, bezt->vec[1], s, pmat, vmat); - func(userData, nu, NULL, bezt, 1, s[0], s[1]); + if (s[0] != IS_CLIPPED) + func(userData, nu, NULL, bezt, 1, s[0], s[1]); } else { view3d_project_short_clip(curarea, bezt->vec[0], s, pmat, vmat); - func(userData, nu, NULL, bezt, 0, s[0], s[1]); + if (s[0] != IS_CLIPPED) + func(userData, nu, NULL, bezt, 0, s[0], s[1]); view3d_project_short_clip(curarea, bezt->vec[1], s, pmat, vmat); - func(userData, nu, NULL, bezt, 1, s[0], s[1]); + if (s[0] != IS_CLIPPED) + func(userData, nu, NULL, bezt, 1, s[0], s[1]); view3d_project_short_clip(curarea, bezt->vec[2], s, pmat, vmat); - func(userData, nu, NULL, bezt, 2, s[0], s[1]); + if (s[0] != IS_CLIPPED) + func(userData, nu, NULL, bezt, 2, s[0], s[1]); } } } |