Commit: 6e17fb8fe3d5106cb56dc37aa8f404c699ff44a8
Author: Bastien Montagne
Date:   Fri Nov 14 16:38:11 2014 +0100
Branches: master
https://developer.blender.org/rB6e17fb8fe3d5106cb56dc37aa8f404c699ff44a8

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. :/

===================================================================

M       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 d2920df..b6790de 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);

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to