Fix T79692: Full copy of scene makes Blender freeze if there is content directly in the master collection.

Old and new collections are the same data in Master collection case
here, so we cannot consider the `gobject` listbase of `collection_old`
as always immutable.
This commit is contained in:
Bastien Montagne 2020-08-11 18:46:47 +02:00
parent eca062b9cb
commit d2c150772a
Notes: blender-bot 2023-02-14 03:03:03 +01:00
Referenced by issue #79692, Full copy of scene makes Blender freeze if there is content directly in the master collection
1 changed files with 3 additions and 3 deletions

View File

@ -408,9 +408,9 @@ static Collection *collection_duplicate_recursive(Main *bmain,
}
if (do_objects) {
/* We can loop on collection_old's objects, that list is currently identical the collection_new
* objects, and won't be changed here. */
LISTBASE_FOREACH (CollectionObject *, cob, &collection_old->gobject) {
/* We can loop on collection_old's objects, but have to consider it mutable because with master
* collections collection_old and collection_new are the same data here. */
LISTBASE_FOREACH_MUTABLE (CollectionObject *, cob, &collection_old->gobject) {
Object *ob_old = cob->ob;
Object *ob_new = (Object *)ob_old->id.newid;