[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [51014] trunk/blender/source/blender/ blenkernel/intern/node.c: fix [#32743] Freed memory access when freeing materials.

Campbell Barton ideasman42 at gmail.com
Wed Oct 3 09:35:29 CEST 2012


Revision: 51014
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=51014
Author:   campbellbarton
Date:     2012-10-03 07:35:29 +0000 (Wed, 03 Oct 2012)
Log Message:
-----------
fix [#32743] Freed memory access when freeing materials.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/node.c

Modified: trunk/blender/source/blender/blenkernel/intern/node.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/node.c	2012-10-03 07:33:04 UTC (rev 51013)
+++ trunk/blender/source/blender/blenkernel/intern/node.c	2012-10-03 07:35:29 UTC (rev 51014)
@@ -1030,9 +1030,18 @@
 		next = node->next;
 
 		/* ntreeUserIncrefID inline */
+
+		/* XXX, this is correct, however when freeing the entire database
+		 * this ends up accessing freed data which isn't properly unlinking
+		 * its self from scene nodes, SO - for now prefer invalid usercounts
+		 * on free rather then bad memory access - Campbell */
+#if 0
 		if (do_id_user) {
 			id_us_min(node->id);
 		}
+#else
+		(void)do_id_user;
+#endif
 
 		nodeFreeNode(ntree, node);
 	}
@@ -1047,15 +1056,7 @@
 /* same as ntreeFreeTree_ex but always manage users */
 void ntreeFreeTree(bNodeTree *ntree)
 {
-	/* XXX, this is correct, however when freeing the entire database
-	 * this ends up accessing freed data which isn't properly unlinking
-	 * its self from scene nodes, SO - for now prefer invalid usercounts
-	 * on free rather then bad memory access - Campbell */
-#if 0
 	ntreeFreeTree_ex(ntree, TRUE);
-#else
-	ntreeFreeTree_ex(ntree, FALSE);
-#endif
 }
 
 void ntreeFreeCache(bNodeTree *ntree)




More information about the Bf-blender-cvs mailing list