Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien Montagne <bastien@blender.org>2020-06-16 16:18:55 +0300
committerBastien Montagne <bastien@blender.org>2020-06-16 18:40:30 +0300
commit2c435cf249cc01550c04e284eda3eb3cf6cf223e (patch)
tree24cf037c531364483be0a3f80574f65358ae9000 /source/blender
parent2e5ef864ab17fbfdb50531a77ee8e1637b8efef6 (diff)
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.
Diffstat (limited to 'source/blender')
-rw-r--r--source/blender/blenkernel/BKE_collection.h4
-rw-r--r--source/blender/blenkernel/intern/collection.c11
-rw-r--r--source/blender/editors/object/object_relations.c5
3 files changed, 4 insertions, 16 deletions
diff --git a/source/blender/blenkernel/BKE_collection.h b/source/blender/blenkernel/BKE_collection.h
index f4b56aa152f..f34bcfaf48f 100644
--- a/source/blender/blenkernel/BKE_collection.h
+++ b/source/blender/blenkernel/BKE_collection.h
@@ -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,
diff --git a/source/blender/blenkernel/intern/collection.c b/source/blender/blenkernel/intern/collection.c
index 6f63da18a22..e1c58bad9d3 100644
--- a/source/blender/blenkernel/intern/collection.c
+++ b/source/blender/blenkernel/intern/collection.c
@@ -421,17 +421,6 @@ static Collection *collection_duplicate_recursive(Main *bmain,
}
/**
- * 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.
*
* If \a do_hierarchy and \a do_deep_copy are false, this is a regular (shallow) ID copy.
diff --git a/source/blender/editors/object/object_relations.c b/source/blender/editors/object/object_relations.c
index fd2fcb11635..4a05658fc00 100644
--- a/source/blender/editors/object/object_relations.c
+++ b/source/blender/editors/object/object_relations.c
@@ -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. */