diff --git a/src/blenderbim/blenderbim/bim/module/geometry/operator.py b/src/blenderbim/blenderbim/bim/module/geometry/operator.py index eed9895c42..1dea41b3e7 100644 --- a/src/blenderbim/blenderbim/bim/module/geometry/operator.py +++ b/src/blenderbim/blenderbim/bim/module/geometry/operator.py @@ -1669,7 +1669,8 @@ class OverrideModeSetEdit(bpy.types.Operator): # The active object is non-mesh-like. Set a valid object (or None) as active context.view_layer.objects.active = context.selected_objects[0] if context.selected_objects else None if context.active_object: - tool.Blender.toggle_edit_mode(context) + if tool.Blender.toggle_edit_mode(context) == {"CANCELLED"}: + return {"CANCELLED"} context.scene.BIMGeometryProperties.is_changing_mode = True if context.scene.BIMGeometryProperties.mode != "EDIT": context.scene.BIMGeometryProperties.mode = "EDIT" diff --git a/src/blenderbim/blenderbim/tool/blender.py b/src/blenderbim/blenderbim/tool/blender.py index c762e7c1b8..ef7ba5287d 100644 --- a/src/blenderbim/blenderbim/tool/blender.py +++ b/src/blenderbim/blenderbim/tool/blender.py @@ -694,6 +694,8 @@ class Blender(blenderbim.core.tool.Blender): ao = context.active_object if not ao: return {"CANCELLED"} + if ao.library: + return {"CANCELLED"} if ao.type in cls.OBJECT_TYPES_THAT_SUPPORT_EDIT_MODE: return bpy.ops.object.mode_set(mode="EDIT", toggle=True) elif ao.type in cls.OBJECT_TYPES_THAT_SUPPORT_EDIT_GPENCIL_MODE: