[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