[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [29389] trunk/blender/source/blender/ makesrna/intern/rna_scene.c: bugfix [#22561] Make Dupliface Memory Leak

Campbell Barton ideasman42 at gmail.com
Thu Jun 10 20:56:52 CEST 2010


Revision: 29389
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=29389
Author:   campbellbarton
Date:     2010-06-10 20:56:52 +0200 (Thu, 10 Jun 2010)

Log Message:
-----------
bugfix [#22561] Make Dupliface Memory Leak

Modified Paths:
--------------
    trunk/blender/source/blender/makesrna/intern/rna_scene.c

Modified: trunk/blender/source/blender/makesrna/intern/rna_scene.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_scene.c	2010-06-10 18:20:55 UTC (rev 29388)
+++ trunk/blender/source/blender/makesrna/intern/rna_scene.c	2010-06-10 18:56:52 UTC (rev 29389)
@@ -212,15 +212,20 @@
 {
 	Base *base= object_in_scene(ob, scene);
 	if (!base) {
-		BKE_report(reports, RPT_ERROR, "Object is not in this scene.");
+		BKE_reportf(reports, RPT_ERROR, "Object '%s' is not in this scene '%s'.", ob->id.name+2, scene->id.name+2);
 		return;
 	}
 	if (base==scene->basact && ob->mode != OB_MODE_OBJECT) {
-		BKE_report(reports, RPT_ERROR, "Object must be in 'Object Mode' to unlink.");
+		BKE_reportf(reports, RPT_ERROR, "Object '%s' must be in 'Object Mode' to unlink.", ob->id.name+2);
 		return;
 	}
+	if(scene->basact==base) {
+		scene->basact= NULL;
+	}
 
 	BLI_remlink(&scene->base, base);
+	MEM_freeN(base);
+
 	ob->id.us--;
 
 	/* needed otherwise the depgraph will contain free'd objects which can crash, see [#20958] */





More information about the Bf-blender-cvs mailing list