[Bf-blender-cvs] [5aa9a4f46ab] soc-2020-outliner: Outliner: Fix bases out of sync on object drop
Nathan Craddock
noreply at git.blender.org
Wed Jul 15 03:48:25 CEST 2020
Commit: 5aa9a4f46ab578e3a0dd1f00b195a1db08a403c3
Author: Nathan Craddock
Date: Tue Jul 14 19:48:02 2020 -0600
Branches: soc-2020-outliner
https://developer.blender.org/rB5aa9a4f46ab578e3a0dd1f00b195a1db08a403c3
Outliner: Fix bases out of sync on object drop
===================================================================
M source/blender/blenkernel/BKE_collection.h
M source/blender/blenkernel/intern/collection.c
M source/blender/editors/space_outliner/outliner_dragdrop.c
===================================================================
diff --git a/source/blender/blenkernel/BKE_collection.h b/source/blender/blenkernel/BKE_collection.h
index bdb9ca7afa7..29d8a089fda 100644
--- a/source/blender/blenkernel/BKE_collection.h
+++ b/source/blender/blenkernel/BKE_collection.h
@@ -97,7 +97,8 @@ void BKE_collection_object_move(struct Main *bmain,
struct Collection *collection_dst,
struct Collection *collection_src,
struct Object *ob);
-void BKE_collection_object_move_after(struct Collection *collection,
+void BKE_collection_object_move_after(struct Main *bmain,
+ struct Collection *collection,
struct Object *ob_relative,
struct Object *ob);
diff --git a/source/blender/blenkernel/intern/collection.c b/source/blender/blenkernel/intern/collection.c
index 22c254684bb..5e2020d174b 100644
--- a/source/blender/blenkernel/intern/collection.c
+++ b/source/blender/blenkernel/intern/collection.c
@@ -1089,7 +1089,10 @@ void BKE_collection_object_move(
*
* For outliner drag & drop.
*/
-void BKE_collection_object_move_after(Collection *collection, Object *ob_relative, Object *ob)
+void BKE_collection_object_move_after(Main *bmain,
+ Collection *collection,
+ Object *ob_relative,
+ Object *ob)
{
if (ELEM(NULL, collection, ob_relative, ob)) {
return;
@@ -1109,6 +1112,8 @@ void BKE_collection_object_move_after(Collection *collection, Object *ob_relativ
int index_from = BLI_findindex(&collection->gobject, object);
BLI_listbase_move_index(&collection->gobject, index_from, index_to);
+
+ BKE_main_collection_sync(bmain);
}
/** \} */
diff --git a/source/blender/editors/space_outliner/outliner_dragdrop.c b/source/blender/editors/space_outliner/outliner_dragdrop.c
index f7b953eda05..f22c4904581 100644
--- a/source/blender/editors/space_outliner/outliner_dragdrop.c
+++ b/source/blender/editors/space_outliner/outliner_dragdrop.c
@@ -445,7 +445,7 @@ static void parent_drop_move_objects(bContext *C, wmDragID *drag, TreeElement *t
Collection *from = collection_parent_from_ID(drag_id->from_parent);
BKE_collection_object_move(bmain, scene, collection_to, from, object);
- BKE_collection_object_move_after(collection_to, ob_drop, object);
+ BKE_collection_object_move_after(bmain, collection_to, ob_drop, object);
}
}
More information about the Bf-blender-cvs
mailing list