diff options
author | Campbell Barton <ideasman42@gmail.com> | 2017-08-09 16:37:11 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2017-08-09 16:39:08 +0300 |
commit | 2f20b5242cc40abbfa2b3a6580b068c5504805aa (patch) | |
tree | 36b19647ad0d3d03b118f24c130ad55d716e5355 /source | |
parent | b4d44b98e8c2e1990f2634b28527ddd71b454ddf (diff) |
Manipulator: disable cursor grabbing for 2D groups
We could make this a manipulator type flag,
for now disable for all 2D manipulators since its annoying for cage2d.
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/windowmanager/manipulators/intern/wm_manipulator_map.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/source/blender/windowmanager/manipulators/intern/wm_manipulator_map.c b/source/blender/windowmanager/manipulators/intern/wm_manipulator_map.c index 085b7b1c787..366996a2e03 100644 --- a/source/blender/windowmanager/manipulators/intern/wm_manipulator_map.c +++ b/source/blender/windowmanager/manipulators/intern/wm_manipulator_map.c @@ -835,6 +835,9 @@ void wm_manipulatormap_modal_set( wmManipulatorMap *mmap, bContext *C, const wmEvent *event, wmManipulator *mpr) { if (mpr && C) { + /* For now only grab cursor for 3D manipulators. */ + bool grab_cursor = (mpr->parent_mgroup->type->flag & WM_MANIPULATORGROUPTYPE_3D) != 0; + mpr->state |= WM_MANIPULATOR_STATE_MODAL; mmap->mmap_context.modal = mpr; @@ -862,7 +865,10 @@ void wm_manipulatormap_modal_set( mpr->type->invoke(C, mpr, event); } } - WM_cursor_grab_enable(CTX_wm_window(C), true, true, NULL); + + if (grab_cursor) { + WM_cursor_grab_enable(CTX_wm_window(C), true, true, NULL); + } } else { mpr = mmap->mmap_context.modal; |