[Bf-blender-cvs] [04674439304] blender2.8: Fix manipulator keymap initialization

Campbell Barton noreply at git.blender.org
Sun Jul 30 20:33:16 CEST 2017


Commit: 0467443930417f92f2dadc5dc63db4bfeb6ea5f2
Author: Campbell Barton
Date:   Mon Jul 31 04:46:35 2017 +1000
Branches: blender2.8
https://developer.blender.org/rB0467443930417f92f2dadc5dc63db4bfeb6ea5f2

Fix manipulator keymap initialization

Update flag was cleared before being checked
when registering after load.

===================================================================

M	source/blender/windowmanager/manipulators/intern/wm_manipulator_group_type.c
M	source/blender/windowmanager/manipulators/intern/wm_manipulator_map.c

===================================================================

diff --git a/source/blender/windowmanager/manipulators/intern/wm_manipulator_group_type.c b/source/blender/windowmanager/manipulators/intern/wm_manipulator_group_type.c
index 534bcdbd7f0..d474788caff 100644
--- a/source/blender/windowmanager/manipulators/intern/wm_manipulator_group_type.c
+++ b/source/blender/windowmanager/manipulators/intern/wm_manipulator_group_type.c
@@ -83,8 +83,6 @@ static wmManipulatorGroupType *wm_manipulatorgrouptype_append__begin(void)
 {
 	wmManipulatorGroupType *wgt = MEM_callocN(sizeof(wmManipulatorGroupType), "manipulatorgrouptype");
 
-	wgt->type_update_flag |= WM_MANIPULATORMAPTYPE_KEYMAP_INIT;
-
 	return wgt;
 }
 static void wm_manipulatorgrouptype_append__end(wmManipulatorGroupType *wgt)
@@ -92,6 +90,8 @@ static void wm_manipulatorgrouptype_append__end(wmManipulatorGroupType *wgt)
 	BLI_assert(wgt->name != NULL);
 	BLI_assert(wgt->idname != NULL);
 
+	wgt->type_update_flag |= WM_MANIPULATORMAPTYPE_KEYMAP_INIT;
+
 	/* if not set, use default */
 	if (wgt->setup_keymap == NULL) {
 		if (wgt->flag & WM_MANIPULATORGROUPTYPE_SELECT) {
diff --git a/source/blender/windowmanager/manipulators/intern/wm_manipulator_map.c b/source/blender/windowmanager/manipulators/intern/wm_manipulator_map.c
index 5b93db88d3b..c0da31fdbdd 100644
--- a/source/blender/windowmanager/manipulators/intern/wm_manipulator_map.c
+++ b/source/blender/windowmanager/manipulators/intern/wm_manipulator_map.c
@@ -1016,13 +1016,13 @@ void WM_manipulatorconfig_update(struct Main *bmain)
 				     wgt_ref = wgt_ref->next)
 				{
 					if (wgt_ref->type->type_update_flag & WM_MANIPULATORMAPTYPE_KEYMAP_INIT) {
-						wgt_ref->type->type_update_flag &= ~WM_MANIPULATORMAPTYPE_KEYMAP_INIT;
 						WM_manipulatormaptype_group_init_runtime_keymap(bmain, wgt_ref->type);
+						wgt_ref->type->type_update_flag &= ~WM_MANIPULATORMAPTYPE_KEYMAP_INIT;
 					}
 
 					if (wgt_ref->type->type_update_flag & WM_MANIPULATORMAPTYPE_UPDATE_INIT) {
-						wgt_ref->type->type_update_flag &= ~WM_MANIPULATORMAPTYPE_UPDATE_INIT;
 						WM_manipulatormaptype_group_init_runtime(bmain, mmap_type, wgt_ref->type);
+						wgt_ref->type->type_update_flag &= ~WM_MANIPULATORMAPTYPE_UPDATE_INIT;
 					}
 				}
 			}




More information about the Bf-blender-cvs mailing list