From fb62fcf0717e5a3e6ef464e12cbdbd21e91533a0 Mon Sep 17 00:00:00 2001 From: Bastien Montagne Date: Mon, 30 May 2022 16:22:06 +0200 Subject: Fix polling function for background image removal not checking linked ID. Linked ID is (almost) never editable... Also rename that function to add the `_poll` suffix. --- source/blender/editors/include/ED_screen.h | 2 +- source/blender/editors/screen/screen_ops.c | 4 ++-- source/blender/editors/space_view3d/view3d_edit.c | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) (limited to 'source') diff --git a/source/blender/editors/include/ED_screen.h b/source/blender/editors/include/ED_screen.h index f909a13c2cb..aa62a6209e4 100644 --- a/source/blender/editors/include/ED_screen.h +++ b/source/blender/editors/include/ED_screen.h @@ -596,7 +596,7 @@ bool ED_operator_posemode_context(struct bContext *C); bool ED_operator_posemode(struct bContext *C); bool ED_operator_posemode_local(struct bContext *C); bool ED_operator_mask(struct bContext *C); -bool ED_operator_camera(struct bContext *C); +bool ED_operator_camera_poll(struct bContext *C); /* screen_user_menu.c */ diff --git a/source/blender/editors/screen/screen_ops.c b/source/blender/editors/screen/screen_ops.c index d7cf09ca89a..a922e5aaaee 100644 --- a/source/blender/editors/screen/screen_ops.c +++ b/source/blender/editors/screen/screen_ops.c @@ -685,10 +685,10 @@ bool ED_operator_mask(bContext *C) return false; } -bool ED_operator_camera(bContext *C) +bool ED_operator_camera_poll(bContext *C) { struct Camera *cam = CTX_data_pointer_get_type(C, "camera", &RNA_Camera).data; - return (cam != NULL); + return (cam != NULL && !ID_IS_LINKED(cam)); } /** \} */ diff --git a/source/blender/editors/space_view3d/view3d_edit.c b/source/blender/editors/space_view3d/view3d_edit.c index 922ebe2f0f4..fb5e7e58d33 100644 --- a/source/blender/editors/space_view3d/view3d_edit.c +++ b/source/blender/editors/space_view3d/view3d_edit.c @@ -653,7 +653,7 @@ void VIEW3D_OT_background_image_remove(wmOperatorType *ot) /* api callbacks */ ot->exec = background_image_remove_exec; - ot->poll = ED_operator_camera; + ot->poll = ED_operator_camera_poll; /* flags */ ot->flag = 0; -- cgit v1.2.3