Commit: fd80b83e8e5850d34dcddea44d80547c3685c344 Author: Campbell Barton Date: Tue Jan 16 18:03:15 2018 +1100 Branches: blender2.8 https://developer.blender.org/rBfd80b83e8e5850d34dcddea44d80547c3685c344
Manipulator: Support tweak removing the manipulator =================================================================== M source/blender/windowmanager/manipulators/intern/wm_manipulator_group.c =================================================================== diff --git a/source/blender/windowmanager/manipulators/intern/wm_manipulator_group.c b/source/blender/windowmanager/manipulators/intern/wm_manipulator_group.c index c4220aa3a5d..2bd218298e6 100644 --- a/source/blender/windowmanager/manipulators/intern/wm_manipulator_group.c +++ b/source/blender/windowmanager/manipulators/intern/wm_manipulator_group.c @@ -308,6 +308,7 @@ void MANIPULATORGROUP_OT_manipulator_select(wmOperatorType *ot) typedef struct ManipulatorTweakData { wmManipulatorMap *mmap; + wmManipulatorGroup *mgroup; wmManipulator *mpr_modal; int init_event; /* initial event type */ @@ -375,7 +376,12 @@ static void manipulator_tweak_finish(bContext *C, wmOperator *op, const bool can mtweak->mpr_modal->type->exit(C, mtweak->mpr_modal, cancel); } if (clear_modal) { - wm_manipulatormap_modal_set(mtweak->mmap, C, mtweak->mpr_modal, NULL, false); + /* The manipulator may have been removed. */ + if ((BLI_findindex(&mtweak->mmap->groups, mtweak->mgroup) != -1) && + (BLI_findindex(&mtweak->mgroup->manipulators, mtweak->mpr_modal) != -1)) + { + wm_manipulatormap_modal_set(mtweak->mmap, C, mtweak->mpr_modal, NULL, false); + } } MEM_freeN(mtweak); } @@ -537,6 +543,7 @@ static int manipulator_tweak_invoke(bContext *C, wmOperator *op, const wmEvent * mtweak->init_event = WM_userdef_event_type_from_keymap_type(event->type); mtweak->mpr_modal = mmap->mmap_context.highlight; + mtweak->mgroup = mtweak->mpr_modal->parent_mgroup; mtweak->mmap = mmap; mtweak->flag = 0; _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org https://lists.blender.org/mailman/listinfo/bf-blender-cvs