Cleanup: get rid of `BKE_collection_copy`.
We want to get rid of those for all ID types ultimately, but that one was only used in one place, being the only one calling `BKE_collection_duplicate` without hierarchical duplicate and parent collection pointer, effectively using the full power of the complex deep duplication code for a mere `BKE_id_copy` call... This will allow for further cleanup in duplicate code.
This commit is contained in:
parent
2e5ef864ab
commit
2c435cf249
|
@ -57,10 +57,6 @@ void BKE_collection_add_from_object(struct Main *bmain,
|
|||
void BKE_collection_free(struct Collection *collection);
|
||||
bool BKE_collection_delete(struct Main *bmain, struct Collection *collection, bool hierarchy);
|
||||
|
||||
struct Collection *BKE_collection_copy(struct Main *bmain,
|
||||
struct Collection *parent,
|
||||
struct Collection *collection);
|
||||
|
||||
struct Collection *BKE_collection_duplicate(struct Main *bmain,
|
||||
struct Collection *parent,
|
||||
struct Collection *collection,
|
||||
|
|
|
@ -420,17 +420,6 @@ static Collection *collection_duplicate_recursive(Main *bmain,
|
|||
return collection_new;
|
||||
}
|
||||
|
||||
/**
|
||||
* Makes a standard (aka shallow) ID copy of a Collection.
|
||||
*
|
||||
* Add a new collection in the same level as the old one, link any nested collections
|
||||
* and finally link the objects to the new collection (as opposed to copying them).
|
||||
*/
|
||||
Collection *BKE_collection_copy(Main *bmain, Collection *parent, Collection *collection)
|
||||
{
|
||||
return BKE_collection_duplicate(bmain, parent, collection, false, false, false);
|
||||
}
|
||||
|
||||
/**
|
||||
* Make either a shallow copy, or deeper duplicate of given collection.
|
||||
*
|
||||
|
|
|
@ -1771,7 +1771,10 @@ static Collection *single_object_users_collection(Main *bmain,
|
|||
/* Generate new copies for objects in given collection and all its children,
|
||||
* and optionally also copy collections themselves. */
|
||||
if (copy_collections && !is_master_collection) {
|
||||
collection = ID_NEW_SET(collection, BKE_collection_copy(bmain, NULL, collection));
|
||||
Collection *collection_new;
|
||||
BKE_id_copy(bmain, &collection->id, (ID **)&collection_new);
|
||||
id_us_min(&collection_new->id);
|
||||
collection = ID_NEW_SET(collection, collection_new);
|
||||
}
|
||||
|
||||
/* We do not remap to new objects here, this is done in separate step. */
|
||||
|
|
Loading…
Reference in New Issue