From 6e17fb8fe3d5106cb56dc37aa8f404c699ff44a8 Mon Sep 17 00:00:00 2001 From: Bastien Montagne Date: Fri, 14 Nov 2014 16:38:11 +0100 Subject: Fix T42593: Rigify crash when I press "Generate" - corrupted IDGroup's listbase of children Nothing related to rigify actually, recent hack in py handling of IDProp (rB3346ab03) was breaking integrity of IDGroup's listbase of children IDProps... Took me hours to nail this down, should have bisected for once. :/ --- source/blender/python/generic/idprop_py_api.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'source/blender/python/generic/idprop_py_api.c') diff --git a/source/blender/python/generic/idprop_py_api.c b/source/blender/python/generic/idprop_py_api.c index d2920df3e69..b6790de8ddf 100644 --- a/source/blender/python/generic/idprop_py_api.c +++ b/source/blender/python/generic/idprop_py_api.c @@ -519,6 +519,10 @@ bool BPy_IDProperty_Map_ValidateAndCreate(PyObject *name_obj, IDProperty *group, (prop_exist->type == prop->type) && (prop_exist->subtype == prop->subtype)) { + /* Preserve prev/next links!!! See T42593. */ + prop->prev = prop_exist->prev; + prop->next = prop_exist->next; + IDP_FreeProperty(prop_exist); *prop_exist = *prop; MEM_freeN(prop); -- cgit v1.2.3