Commit: d9e0a9467503dc6cd004c67a118d315f2238f3b0
Author: Campbell Barton
Date:   Thu Dec 26 08:57:44 2013 +1100
https://developer.blender.org/rBd9e0a9467503dc6cd004c67a118d315f2238f3b0

Fix T37939: Crash on exit (reading from freed node trees)

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

M       source/blender/blenkernel/intern/library.c
M       source/blender/blenkernel/intern/node.c

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

diff --git a/source/blender/blenkernel/intern/library.c 
b/source/blender/blenkernel/intern/library.c
index 95f1cce..910ab0f 100644
--- a/source/blender/blenkernel/intern/library.c
+++ b/source/blender/blenkernel/intern/library.c
@@ -950,7 +950,7 @@ void BKE_libblock_free_ex(ListBase *lb, void *idv, bool 
do_id_user)
                        BKE_action_free((bAction *)id);
                        break;
                case ID_NT:
-                       ntreeFreeTree((bNodeTree *)id);
+                       ntreeFreeTree_ex((bNodeTree *)id, do_id_user);
                        break;
                case ID_BR:
                        BKE_brush_free((Brush *)id);
diff --git a/source/blender/blenkernel/intern/node.c 
b/source/blender/blenkernel/intern/node.c
index d0ce563..977aa01 100644
--- a/source/blender/blenkernel/intern/node.c
+++ b/source/blender/blenkernel/intern/node.c
@@ -1714,8 +1714,11 @@ void ntreeFreeTree_ex(bNodeTree *ntree, const short 
do_id_user)
                }
        }
        
-       /* XXX not nice, but needed to free localized node groups properly */
-       free_localized_node_groups(ntree);
+       /* when freeing main, this would check other ntree's which may have 
been freed, see [#37939] */
+       if (do_id_user) {
+               /* XXX not nice, but needed to free localized node groups 
properly */
+               free_localized_node_groups(ntree);
+       }
        
        /* unregister associated RNA types */
        ntreeInterfaceTypeFree(ntree);

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

Reply via email to