[Bf-blender-cvs] [1fdaf748bf4] master: Add poll messages for marker operators

Colin Basnett noreply at git.blender.org
Fri Nov 11 20:13:40 CET 2022


Commit: 1fdaf748bf4a6b65465602aefa36868e69b4c30f
Author: Colin Basnett
Date:   Fri Nov 11 11:13:00 2022 -0800
Branches: master
https://developer.blender.org/rB1fdaf748bf4a6b65465602aefa36868e69b4c30f

Add poll messages for marker operators

A number of operators were missing poll messages when disabled.

These are the following new error messages:

1. "No markers are selected"
2. "Markers are locked"

Reviewed By: sybren

Differential Revision: https://developer.blender.org/D16403

===================================================================

M	source/blender/editors/animation/anim_markers.c

===================================================================

diff --git a/source/blender/editors/animation/anim_markers.c b/source/blender/editors/animation/anim_markers.c
index 94746837259..c980fd73342 100644
--- a/source/blender/editors/animation/anim_markers.c
+++ b/source/blender/editors/animation/anim_markers.c
@@ -663,11 +663,16 @@ static bool ed_markers_poll_selected_markers(bContext *C)
   ListBase *markers = ED_context_get_markers(C);
 
   if (!ED_operator_markers_region_active(C)) {
-    return 0;
+    return false;
   }
 
   /* check if some marker is selected */
-  return ED_markers_get_first_selected(markers) != NULL;
+  if (ED_markers_get_first_selected(markers) == NULL) {
+    CTX_wm_operator_poll_msg_set(C, "No markers are selected");
+    return false;
+  }
+
+  return true;
 }
 
 static bool ed_markers_poll_selected_no_locked_markers(bContext *C)
@@ -675,12 +680,22 @@ static bool ed_markers_poll_selected_no_locked_markers(bContext *C)
   ListBase *markers = ED_context_get_markers(C);
   ToolSettings *ts = CTX_data_tool_settings(C);
 
-  if (ts->lock_markers || !ED_operator_markers_region_active(C)) {
-    return 0;
+  if (!ED_operator_markers_region_active(C)) {
+    return false;
+  }
+
+  if (ts->lock_markers) {
+    CTX_wm_operator_poll_msg_set(C, "Markers are locked");
+    return false;
   }
 
   /* check if some marker is selected */
-  return ED_markers_get_first_selected(markers) != NULL;
+  if (ED_markers_get_first_selected(markers) == NULL) {
+    CTX_wm_operator_poll_msg_set(C, "No markers are selected");
+    return false;
+  }
+
+  return true;
 }
 
 /* special poll() which checks if there are any markers at all first */



More information about the Bf-blender-cvs mailing list