diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2011-09-29 17:52:58 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2011-09-29 17:52:58 +0400 |
commit | e276855e60dc69b4e3313d635322a86a3e7e1e6e (patch) | |
tree | dac241542ad2aec4428b317a0919bd523a7438dd /source/blender/windowmanager/intern | |
parent | 081543fee812c94c883329bf3917071e0f770fb4 (diff) |
Fix #28769 & #28768: problem with duplicated keymap items after fix yesterday.
Diffstat (limited to 'source/blender/windowmanager/intern')
-rw-r--r-- | source/blender/windowmanager/intern/wm.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/source/blender/windowmanager/intern/wm.c b/source/blender/windowmanager/intern/wm.c index 9299b50103c..5beb07a1ed0 100644 --- a/source/blender/windowmanager/intern/wm.c +++ b/source/blender/windowmanager/intern/wm.c @@ -230,6 +230,7 @@ void WM_keymap_init(bContext *C) { wmWindowManager *wm= CTX_wm_manager(C); + /* create standard key configs */ if(!wm->defaultconf) wm->defaultconf= WM_keyconfig_new(wm, "Blender"); if(!wm->addonconf) @@ -237,10 +238,17 @@ void WM_keymap_init(bContext *C) if(!wm->userconf) wm->userconf= WM_keyconfig_new(wm, "Blender User"); + /* initialize only after python init is done, for keymaps that + use python operators */ if(CTX_py_init_get(C) && (wm->initialized & WM_INIT_KEYMAP) == 0) { - /* create default key config */ - wm_window_keymap(wm->defaultconf); - ED_spacetypes_keymap(wm->defaultconf); + /* create default key config, only initialize once, + it's persistent across sessions */ + if(!(wm->defaultconf->flag & KEYCONF_INIT_DEFAULT)) { + wm_window_keymap(wm->defaultconf); + ED_spacetypes_keymap(wm->defaultconf); + + wm->defaultconf->flag |= KEYCONF_INIT_DEFAULT; + } WM_keyconfig_update_tag(NULL, NULL); WM_keyconfig_update(wm); |