Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@gmail.com>2016-10-16 22:19:52 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2016-10-19 15:26:42 +0300
commita6220f459b3c8b6c4390858aab6c980b21f4c77b (patch)
treea1cdc4f35d322e37b10287fd8667fed7ddba2aaf
parent8030c4832a3e6c5303341caf865a4737c371a1ba (diff)
Fix T49746: crash loading user preferences with missing operators.
-rw-r--r--source/blender/windowmanager/intern/wm_keymap.c7
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;
}
}
}