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.
This commit is contained in:
Julian Eisel 2021-06-08 16:36:42 +02:00
parent 259b9c73d0
commit 7124c66340
Notes: blender-bot 2023-02-14 09:17:57 +01:00
Referenced by issue #88449: Blender LTS: Maintenance Task 2.93
Referenced by issue #88449, Blender LTS: Maintenance Task 2.93
Referenced by issue #87703, Failed assert when dragging object data-block into 3D View
1 changed files with 11 additions and 1 deletions

View File

@ -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");