[Bf-blender-cvs] [8f6fd07b546] master: Fix T85947: Missing check of master collection for objects being instanced.

Bastien Montagne noreply at git.blender.org
Wed Feb 24 14:16:17 CET 2021


Commit: 8f6fd07b54653befe9568cca2752603c74ab5667
Author: Bastien Montagne
Date:   Wed Feb 24 14:14:46 2021 +0100
Branches: master
https://developer.blender.org/rB8f6fd07b54653befe9568cca2752603c74ab5667

Fix T85947: Missing check of master collection for objects being instanced.

`object_in_any_collection` used during linking/appending to check
whether an object is already instanced by at least one collection, was
not taking into account embedded master collections from scenes.

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

M	source/blender/blenloader/intern/readfile.c

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

diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c
index 6528e1cdf79..bea05699579 100644
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@ -4600,6 +4600,13 @@ static bool object_in_any_collection(Main *bmain, Object *ob)
     }
   }
 
+  LISTBASE_FOREACH (Scene *, scene, &bmain->scenes) {
+    if (scene->master_collection != NULL &&
+        BKE_collection_has_object(scene->master_collection, ob)) {
+      return true;
+    }
+  }
+
   return false;
 }



More information about the Bf-blender-cvs mailing list