diff options
author | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2016-10-16 22:19:52 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2016-10-16 22:24:42 +0300 |
commit | 2a6ec00b9b083e8c235ec4721d6fa67b9bee4794 (patch) | |
tree | 8c0c1cd12834d475f530c7e49bb2e31a02edd42d /source | |
parent | 2a53e0975c25310e816374032c21b44354f00db7 (diff) |
Fix T49746: crash loading user preferences with missing operators.
Diffstat (limited to 'source')
-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; } } } |