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 <julian@blender.org>2021-06-08 17:36:42 +0300
committerJulian Eisel <julian@blender.org>2021-06-08 17:45:34 +0300
commit7124c663407c4c0ccca167107799165c01950a1f (patch)
tree91741b5ddccf24102da76570b9df8623653997cb /source/blender/editors/object
parent259b9c73d067bb51a6e86ff8eadd3de30c74e5ac (diff)
Fix T87703: Failed assert when dragging object data-block into 3D View
Talked with Bastien and we ended up looking into this. Issue is that the dupliation through drag & drop should also be considered a "sub-process", like Shift+D duplicating does. Added a comment explaining why this is needed.
Diffstat (limited to 'source/blender/editors/object')
-rw-r--r--source/blender/editors/object/object_add.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/source/blender/editors/object/object_add.c b/source/blender/editors/object/object_add.c
index ef500be0133..12aaa9c2d9f 100644
--- a/source/blender/editors/object/object_add.c
+++ b/source/blender/editors/object/object_add.c
@@ -3483,7 +3483,17 @@ static int object_add_named_exec(bContext *C, wmOperator *op)
}
/* prepare dupli */
- basen = object_add_duplicate_internal(bmain, scene, view_layer, ob, dupflag, 0);
+ basen = object_add_duplicate_internal(
+ bmain,
+ scene,
+ view_layer,
+ ob,
+ dupflag,
+ /* Sub-process flag because the new-ID remapping (#BKE_libblock_relink_to_newid()) in this
+ * function will only work if the object is already linked in the view layer, which is not
+ * the case here. So we have to do the new-ID relinking ourselves (#copy_object_set_idnew()).
+ */
+ LIB_ID_DUPLICATE_IS_SUBPROCESS);
if (basen == NULL) {
BKE_report(op->reports, RPT_ERROR, "Object could not be duplicated");