diff options
author | Campbell Barton <ideasman42@gmail.com> | 2015-09-02 04:22:28 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2015-09-02 04:29:04 +0300 |
commit | 881047de883a6331c4272194ca6210e077183a7c (patch) | |
tree | 0ef86455c1767e41111b6a68a32843e2295118cb /source/blender/editors/transform/transform_snap.c | |
parent | 4b1f3a7819ff535f8eb6fdd97b02951c32306f2d (diff) |
Fix snapping edit-gpencil to edit-mesh
Reported in T45978
Was checking mesh selection state.
Diffstat (limited to 'source/blender/editors/transform/transform_snap.c')
-rw-r--r-- | source/blender/editors/transform/transform_snap.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/source/blender/editors/transform/transform_snap.c b/source/blender/editors/transform/transform_snap.c index ffa05b4a718..21bc25f54d1 100644 --- a/source/blender/editors/transform/transform_snap.c +++ b/source/blender/editors/transform/transform_snap.c @@ -1983,8 +1983,20 @@ static bool snapObjects(Scene *scene, short snap_mode, Base *base_act, View3D *v bool snapObjectsTransform(TransInfo *t, const float mval[2], float *r_dist_px, float r_loc[3], float r_no[3], SnapMode mode) { float ray_dist = TRANSFORM_DIST_MAX_RAY; - return snapObjects(t->scene, t->scene->toolsettings->snap_mode, t->scene->basact, t->view, t->ar, t->obedit, - mval, r_dist_px, r_loc, r_no, &ray_dist, mode); + Object *obedit = NULL; + Base *base_act = NULL; + + if (t->flag & T_EDIT) { + obedit = t->obedit; + } + + if ((t->options & CTX_GPENCIL_STROKES) == 0) { + base_act = t->scene->basact; + } + + return snapObjects( + t->scene, t->scene->toolsettings->snap_mode, base_act, t->view, t->ar, obedit, + mval, r_dist_px, r_loc, r_no, &ray_dist, mode); } bool snapObjectsContext(bContext *C, const float mval[2], float *r_dist_px, float r_loc[3], float r_no[3], SnapMode mode) |