[Bf-blender-cvs] [91034646c7c] blender2.8: Fix T53291: Deleting objects do not delete them from the blend file

Dalai Felinto noreply at git.blender.org
Mon Nov 27 17:53:49 CET 2017


Commit: 91034646c7c93e77c2ffda5e67e5ee0b23207fc9
Author: Dalai Felinto
Date:   Mon Nov 27 14:33:31 2017 -0200
Branches: blender2.8
https://developer.blender.org/rB91034646c7c93e77c2ffda5e67e5ee0b23207fc9

Fix T53291: Deleting objects do not delete them from the blend file

User count was wrong for newly created files. We increase/decrease user count
when we link/delete objects from a SceneCollection.

So we don't want to leave user count of 1 after calling BKE_libblock_alloc in
BKE_object_add_only_object().

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

M	source/blender/blenkernel/intern/object.c
M	source/blender/makesrna/intern/rna_main_api.c

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

diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c
index 8fa4ebb8b3c..107e9299740 100644
--- a/source/blender/blenkernel/intern/object.c
+++ b/source/blender/blenkernel/intern/object.c
@@ -706,6 +706,9 @@ Object *BKE_object_add_only_object(Main *bmain, int type, const char *name)
 
 	ob = BKE_libblock_alloc(bmain, ID_OB, name, 0);
 
+	/* We increase object user count when linking to SceneCollections. */
+	id_us_min(&ob->id);
+
 	/* default object vars */
 	ob->type = type;
 
diff --git a/source/blender/makesrna/intern/rna_main_api.c b/source/blender/makesrna/intern/rna_main_api.c
index d1b28bffc7e..f15006fa0ed 100644
--- a/source/blender/makesrna/intern/rna_main_api.c
+++ b/source/blender/makesrna/intern/rna_main_api.c
@@ -249,7 +249,6 @@ static Object *rna_Main_objects_new(Main *bmain, ReportList *reports, const char
 	}
 
 	ob = BKE_object_add_only_object(bmain, type, safe_name);
-	id_us_min(&ob->id);
 
 	ob->data = data;
 	test_object_materials(ob, ob->data);



More information about the Bf-blender-cvs mailing list