[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [60836] trunk/blender/source/blender/ blenloader/intern/readfile.c: Fix #37110, After deletion of large scene, file still huge.

Lukas Toenne lukas.toenne at googlemail.com
Thu Oct 17 22:18:48 CEST 2013


Revision: 60836
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=60836
Author:   lukastoenne
Date:     2013-10-17 20:18:48 +0000 (Thu, 17 Oct 2013)
Log Message:
-----------
Fix #37110, After deletion of large scene, file still huge.
Objects were not being freed when unlinked from all scenes, due to user count increments on the ParticleSystem->parent pointers. These were referencing the objects themselves, creating a user count of 1
and preventing free. Object pointers should not usually do user counting, except in some cases like scenes and groups (thanks to Brecht for clarifying this).

Modified Paths:
--------------
    trunk/blender/source/blender/blenloader/intern/readfile.c

Modified: trunk/blender/source/blender/blenloader/intern/readfile.c
===================================================================
--- trunk/blender/source/blender/blenloader/intern/readfile.c	2013-10-17 20:17:03 UTC (rev 60835)
+++ trunk/blender/source/blender/blenloader/intern/readfile.c	2013-10-17 20:18:48 UTC (rev 60836)
@@ -3806,7 +3806,7 @@
 			for (; pt; pt=pt->next)
 				pt->ob=newlibadr(fd, id->lib, pt->ob);
 			
-			psys->parent = newlibadr_us(fd, id->lib, psys->parent);
+			psys->parent = newlibadr(fd, id->lib, psys->parent);
 			psys->target_ob = newlibadr(fd, id->lib, psys->target_ob);
 			
 			if (psys->clmd) {




More information about the Bf-blender-cvs mailing list