diff options
author | Bastien Montagne <montagne29@wanadoo.fr> | 2016-09-26 17:35:52 +0300 |
---|---|---|
committer | Bastien Montagne <montagne29@wanadoo.fr> | 2016-09-26 17:37:17 +0300 |
commit | b23ffded0866b5b24cb50fca669efde4ec1e3ffd (patch) | |
tree | df860a4117c32407c926e492bf6316eb1072e708 /source/blender/blenkernel/intern/scene.c | |
parent | eab3e0af1c50d9aafdb57fbfb269eed631f3ecc1 (diff) |
Fix Scene datablocks being created with a real user while never having any real datablock user.
Now using new system dedicated to that kind of cases, id_ensure_real_user(), instead.
That way, usercount of Scenes is handled correctly at deletion time.
Reported by @sergey over IRC, thanks.
Diffstat (limited to 'source/blender/blenkernel/intern/scene.c')
-rw-r--r-- | source/blender/blenkernel/intern/scene.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/scene.c b/source/blender/blenkernel/intern/scene.c index acf6a313989..0d204461d16 100644 --- a/source/blender/blenkernel/intern/scene.c +++ b/source/blender/blenkernel/intern/scene.c @@ -819,6 +819,8 @@ Scene *BKE_scene_add(Main *bmain, const char *name) Scene *sce; sce = BKE_libblock_alloc(bmain, ID_SCE, name); + id_us_min(&sce->id); + id_us_ensure_real(&sce->id); BKE_scene_init(sce); |