[Bf-blender-cvs] [b23ffde] master: Fix Scene datablocks being created with a real user while never having any real datablock user.

Bastien Montagne noreply at git.blender.org
Mon Sep 26 16:37:49 CEST 2016


Commit: b23ffded0866b5b24cb50fca669efde4ec1e3ffd
Author: Bastien Montagne
Date:   Mon Sep 26 16:35:52 2016 +0200
Branches: master
https://developer.blender.org/rBb23ffded0866b5b24cb50fca669efde4ec1e3ffd

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.

===================================================================

M	source/blender/blenkernel/intern/scene.c

===================================================================

diff --git a/source/blender/blenkernel/intern/scene.c b/source/blender/blenkernel/intern/scene.c
index acf6a31..0d20446 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);




More information about the Bf-blender-cvs mailing list