[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [34755] trunk/blender/source/blender/ editors/object/object_relations.c: Bugfix [#26002] Outliner Visible layers + Single object & data = broke

Joshua Leung aligorith at gmail.com
Thu Feb 10 11:14:14 CET 2011


Revision: 34755
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=34755
Author:   aligorith
Date:     2011-02-10 10:14:12 +0000 (Thu, 10 Feb 2011)
Log Message:
-----------
Bugfix [#26002] Outliner Visible layers + Single object & data = broke
conections

It seems that some of the Outliner hacks used while building the tree
was causing problems, as Make Single User (and potentially other code
working with ID-data, specifically with the "newid" value there) was
making use of the variable used there for other purposes, leading to
memory corruption.

This bug also occurred in 2.4x, though when I tested there, it crashed
immediately.

Ton, you may want to double-check this bug!

Modified Paths:
--------------
    trunk/blender/source/blender/editors/object/object_relations.c

Modified: trunk/blender/source/blender/editors/object/object_relations.c
===================================================================
--- trunk/blender/source/blender/editors/object/object_relations.c	2011-02-10 09:39:55 UTC (rev 34754)
+++ trunk/blender/source/blender/editors/object/object_relations.c	2011-02-10 10:14:12 UTC (rev 34755)
@@ -1377,6 +1377,11 @@
 	for(base= FIRSTBASE; base; base= base->next) {
 		ob= base->object;
 		
+		/* newid may still have some trash from Outliner tree building,
+		 * so clear that first to avoid errors [#26002]
+		 */
+		ob->id.newid = NULL;
+		
 		if( (base->flag & flag)==flag ) {
 			if(ob->id.lib==NULL && ob->id.us>1) {
 				/* base gets copy of object */




More information about the Bf-blender-cvs mailing list