diff options
author | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2016-10-16 22:19:52 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2016-10-19 15:26:42 +0300 |
commit | a6220f459b3c8b6c4390858aab6c980b21f4c77b (patch) | |
tree | a1cdc4f35d322e37b10287fd8667fed7ddba2aaf | |
parent | 8030c4832a3e6c5303341caf865a4737c371a1ba (diff) |
Fix T49746: crash loading user preferences with missing operators.
-rw-r--r-- | source/blender/windowmanager/intern/wm_keymap.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/source/blender/windowmanager/intern/wm_keymap.c b/source/blender/windowmanager/intern/wm_keymap.c index ed3cce5fe8a..e201fa433d4 100644 --- a/source/blender/windowmanager/intern/wm_keymap.c +++ b/source/blender/windowmanager/intern/wm_keymap.c @@ -77,6 +77,10 @@ static wmKeyMapItem *wm_keymap_item_copy(wmKeyMapItem *kmi) kmin->properties = IDP_CopyProperty(kmin->properties); kmin->ptr->data = kmin->properties; } + else { + kmin->properties = NULL; + kmin->ptr = NULL; + } return kmin; } @@ -87,6 +91,8 @@ static void wm_keymap_item_free(wmKeyMapItem *kmi) if (kmi->ptr) { WM_operator_properties_free(kmi->ptr); MEM_freeN(kmi->ptr); + kmi->ptr = NULL; + kmi->properties = NULL; } } @@ -121,7 +127,6 @@ static void wm_keymap_item_properties_update_ot(wmKeyMapItem *kmi) else { /* zombie keymap item */ wm_keymap_item_free(kmi); - kmi->ptr = NULL; } } } |