diff options
author | Martin Poirier <theeth@yahoo.com> | 2009-12-02 07:12:16 +0300 |
---|---|---|
committer | Martin Poirier <theeth@yahoo.com> | 2009-12-02 07:12:16 +0300 |
commit | c758f6589e5d91e9fa2086a7db744282f2ea1e55 (patch) | |
tree | 4305d1aa3083fb1c52fa882572c178c67ccef76f /source/blender/windowmanager/intern/wm_keymap.c | |
parent | fa2ec6af38ef2fb451d02deca2e6c1353049c9af (diff) |
Reset operator properties for keymap items when operator idname is changed.
This means added operators in the keymap editor will now show options correctly (maybe not for old .B25.blend)
Diffstat (limited to 'source/blender/windowmanager/intern/wm_keymap.c')
-rw-r--r-- | source/blender/windowmanager/intern/wm_keymap.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/source/blender/windowmanager/intern/wm_keymap.c b/source/blender/windowmanager/intern/wm_keymap.c index b3269a23277..b22f01b7d7a 100644 --- a/source/blender/windowmanager/intern/wm_keymap.c +++ b/source/blender/windowmanager/intern/wm_keymap.c @@ -55,6 +55,17 @@ /* ********************* key config ***********************/ +void WM_keymap_properties_reset(wmKeyMapItem *kmi) +{ + WM_operator_properties_free(kmi->ptr); + MEM_freeN(kmi->ptr); + + kmi->ptr = NULL; + kmi->properties = NULL; + + WM_operator_properties_alloc(&(kmi->ptr), &(kmi->properties), kmi->idname); +} + static void keymap_properties_set(wmKeyMapItem *kmi) { WM_operator_properties_alloc(&(kmi->ptr), &(kmi->properties), kmi->idname); |