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 /source/blender/python/generic/idprop_py_api.c
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. :/
Diffstat (limited to 'source/blender/python/generic/idprop_py_api.c')
-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);