[Bf-blender-cvs] [d483dfd03db] blender2.8: Fix T56717: crash removing/adding objects.

Brecht Van Lommel noreply at git.blender.org
Mon Sep 10 16:10:08 CEST 2018


Commit: d483dfd03db1afd660fd4d9d082694d9587d4e0b
Author: Brecht Van Lommel
Date:   Mon Sep 10 16:06:58 2018 +0200
Branches: blender2.8
https://developer.blender.org/rBd483dfd03db1afd660fd4d9d082694d9587d4e0b

Fix T56717: crash removing/adding objects.

Object bases hash always needs to be freed on library remapping.

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

M	source/blender/blenkernel/intern/collection.c
M	source/blender/blenkernel/intern/library_remap.c

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

diff --git a/source/blender/blenkernel/intern/collection.c b/source/blender/blenkernel/intern/collection.c
index 1f6ab06fb49..75f721b79e6 100644
--- a/source/blender/blenkernel/intern/collection.c
+++ b/source/blender/blenkernel/intern/collection.c
@@ -673,7 +673,7 @@ void BKE_collections_child_remove_nulls(Main *bmain, Collection *old_collection)
 	}
 
 	if (changed) {
-		BKE_main_collection_sync(bmain);
+		BKE_main_collection_sync_remap(bmain);
 	}
 }
 
diff --git a/source/blender/blenkernel/intern/library_remap.c b/source/blender/blenkernel/intern/library_remap.c
index fc2e4cd4723..6ebcf399b3f 100644
--- a/source/blender/blenkernel/intern/library_remap.c
+++ b/source/blender/blenkernel/intern/library_remap.c
@@ -299,9 +299,8 @@ static void libblock_remap_data_postprocess_object_update(Main *bmain, Object *o
 		  * to remove the NULL children from collections not used in any scene. */
 		BKE_collections_object_remove_nulls(bmain);
 	}
-	else {
-		BKE_main_collection_sync_remap(bmain);
-	}
+
+	BKE_main_collection_sync_remap(bmain);
 
 	if (old_ob->type == OB_MBALL) {
 		for (Object *ob = bmain->object.first; ob; ob = ob->id.next) {
@@ -320,9 +319,8 @@ static void libblock_remap_data_postprocess_collection_update(Main *bmain, Colle
 		  * because of pointer replacement. */
 		BKE_collections_child_remove_nulls(bmain, old_collection);
 	}
-	else {
-		BKE_main_collection_sync_remap(bmain);
-	}
+
+	BKE_main_collection_sync_remap(bmain);
 }
 
 static void libblock_remap_data_postprocess_obdata_relink(Main *bmain, Object *ob, ID *new_id)



More information about the Bf-blender-cvs mailing list