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:
authorBastien Montagne <montagne29@wanadoo.fr>2014-11-14 18:38:11 +0300
committerBastien Montagne <montagne29@wanadoo.fr>2014-11-14 18:42:49 +0300
commit6e17fb8fe3d5106cb56dc37aa8f404c699ff44a8 (patch)
tree05d358446632e26ef84f36c6114a8d0ec962e61d
parent5a893d09d27dc79f6f6efa6f7a92d2590cca77cc (diff)
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. :/
-rw-r--r--source/blender/python/generic/idprop_py_api.c4
1 files changed, 4 insertions, 0 deletions
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);