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:
authorJulian Eisel <eiseljulian@gmail.com>2017-03-10 22:47:48 +0300
committerJulian Eisel <eiseljulian@gmail.com>2017-03-10 22:48:39 +0300
commit0d7dfd9f4683f43124d04fc07d5cbf54e89c5b4b (patch)
tree90ea50af441fe36ee6c2f4bc489268ced59046f5 /source/blender/blenkernel/intern/collection.c
parent0210df079ccb238be047c8a28e5f295a14648e00 (diff)
Outliner: Support dragging objects into different collections
Doing so will remove the object from the old collection and insert it into the new one.
Diffstat (limited to 'source/blender/blenkernel/intern/collection.c')
-rw-r--r--source/blender/blenkernel/intern/collection.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/source/blender/blenkernel/intern/collection.c b/source/blender/blenkernel/intern/collection.c
index 614ba0b59c6..b4662393151 100644
--- a/source/blender/blenkernel/intern/collection.c
+++ b/source/blender/blenkernel/intern/collection.c
@@ -224,7 +224,7 @@ void BKE_collection_master_free(Scene *scene)
collection_free(BKE_collection_master(scene));
}
-static void collection_object_add(Scene *scene, SceneCollection *sc, Object *ob)
+static void collection_object_add(const Scene *scene, SceneCollection *sc, Object *ob)
{
BLI_addtail(&sc->objects, BLI_genericNodeN(ob));
id_us_plus((ID *)ob);
@@ -234,7 +234,7 @@ static void collection_object_add(Scene *scene, SceneCollection *sc, Object *ob)
/**
* Add object to collection
*/
-void BKE_collection_object_add(Scene *scene, SceneCollection *sc, Object *ob)
+void BKE_collection_object_add(const Scene *scene, SceneCollection *sc, Object *ob)
{
if (BLI_findptr(&sc->objects, ob, offsetof(LinkData, data))) {
/* don't add the same object twice */
@@ -259,9 +259,10 @@ void BKE_collection_object_add_from(Scene *scene, Object *ob_src, Object *ob_dst
}
/**
- * Remove object from collection
+ * Remove object from collection.
+ * \param bmain: Can be NULL if free_us is false.
*/
-void BKE_collection_object_remove(Main *bmain, Scene *scene, SceneCollection *sc, Object *ob, const bool free_us)
+void BKE_collection_object_remove(Main *bmain, const Scene *scene, SceneCollection *sc, Object *ob, const bool free_us)
{
LinkData *link = BLI_findptr(&sc->objects, ob, offsetof(LinkData, data));
@@ -287,10 +288,10 @@ void BKE_collection_object_remove(Main *bmain, Scene *scene, SceneCollection *sc
/**
* Move object from a collection into another
*/
-void BKE_collection_object_move(Main *bmain, Scene *scene, SceneCollection *sc_dst, SceneCollection *sc_src, Object *ob)
+void BKE_collection_object_move(const Scene *scene, SceneCollection *sc_dst, SceneCollection *sc_src, Object *ob)
{
BKE_collection_object_add(scene, sc_dst, ob);
- BKE_collection_object_remove(bmain, scene, sc_src, ob, false);
+ BKE_collection_object_remove(NULL, scene, sc_src, ob, false);
}
/**