From 0467443930417f92f2dadc5dc63db4bfeb6ea5f2 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Mon, 31 Jul 2017 04:46:35 +1000 Subject: [PATCH] Fix manipulator keymap initialization Update flag was cleared before being checked when registering after load. --- .../manipulators/intern/wm_manipulator_group_type.c | 4 ++-- .../windowmanager/manipulators/intern/wm_manipulator_map.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) 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; } } }