Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorLukas Toenne <lukas.toenne@googlemail.com>2013-10-18 00:18:48 +0400
committerLukas Toenne <lukas.toenne@googlemail.com>2013-10-18 00:18:48 +0400
commit2871b0d7df5804e32e9ac4064ab2f29994b69b2d (patch)
tree117854d991e02de5cbff55a8ec9804a91dc6452a /source
parent4230b8f9c4cc0b71bb1d361d16c5dbe82e24ee9c (diff)
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).
Diffstat (limited to 'source')
-rw-r--r--source/blender/blenloader/intern/readfile.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c
index 2cc5aa33ab6..e6804725587 100644
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@ -3806,7 +3806,7 @@ static void lib_link_particlesystems(FileData *fd, Object *ob, ID *id, ListBase
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) {