From a7ae024ea35868b86b83621935a0dc460b1c5076 Mon Sep 17 00:00:00 2001 From: Pratik Borhade Date: Wed, 22 Nov 2023 14:55:03 +0100 Subject: [PATCH] Fix #115171: Transfer Mode operator tries and fails on linked objects Skip operator execution if destination id is linked or overridden. Pull Request: https://projects.blender.org/blender/blender/pulls/115266 --- source/blender/editors/object/object_modes.cc | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/source/blender/editors/object/object_modes.cc b/source/blender/editors/object/object_modes.cc index 1fafaf21874..0963dcbe086 100644 --- a/source/blender/editors/object/object_modes.cc +++ b/source/blender/editors/object/object_modes.cc @@ -506,6 +506,14 @@ static int object_transfer_mode_invoke(bContext *C, wmOperator *op, const wmEven const eObjectMode src_mode = (eObjectMode)ob_src->mode; Base *base_dst = ED_view3d_give_base_under_cursor(C, event->mval); + + if (ID_IS_LINKED(base_dst->object) || ID_IS_OVERRIDE_LIBRARY(base_dst->object)) { + BKE_reportf(op->reports, + RPT_ERROR, + "Unable to execute, %s object is linked", + base_dst->object->id.name + 2); + return OPERATOR_CANCELLED; + } const bool mode_transferred = object_transfer_mode_to_base(C, op, base_dst); if (!mode_transferred) { return OPERATOR_CANCELLED;