[Bf-blender-cvs] [d525c76003b] master: Revert "UI: Edit Menu Operator Polling"

Brecht Van Lommel noreply at git.blender.org
Mon May 27 00:34:56 CEST 2019


Commit: d525c76003b3e7dcda92df09e9009c2f67f5532e
Author: Brecht Van Lommel
Date:   Mon May 27 00:29:34 2019 +0200
Branches: master
https://developer.blender.org/rBd525c76003b3e7dcda92df09e9009c2f67f5532e

Revert "UI: Edit Menu Operator Polling"

This reverts part of commit b7eba20236ca6499a62a8ee2b0c852086bc46b8e. Polling
is causing issues in scripts, and the minor usability improvements are not worth
the extra work this may cause at this point in the release cycle.

Fixes T65149

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

M	source/blender/editors/screen/screen_ops.c
M	source/blender/editors/undo/ed_undo.c

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

diff --git a/source/blender/editors/screen/screen_ops.c b/source/blender/editors/screen/screen_ops.c
index a94c0e35876..af90bbc9975 100644
--- a/source/blender/editors/screen/screen_ops.c
+++ b/source/blender/editors/screen/screen_ops.c
@@ -3564,12 +3564,6 @@ static int repeat_last_exec(bContext *C, wmOperator *UNUSED(op))
   return OPERATOR_CANCELLED;
 }
 
-static bool repeat_last_poll(bContext *C)
-{
-  wmWindowManager *wm = CTX_wm_manager(C);
-  return ED_operator_screenactive(C) && !BLI_listbase_is_empty(&wm->operators);
-}
-
 static void SCREEN_OT_repeat_last(wmOperatorType *ot)
 {
   /* identifiers */
@@ -3580,7 +3574,7 @@ static void SCREEN_OT_repeat_last(wmOperatorType *ot)
   /* api callbacks */
   ot->exec = repeat_last_exec;
 
-  ot->poll = repeat_last_poll;
+  ot->poll = ED_operator_screenactive;
 }
 
 /** \} */
@@ -3633,12 +3627,6 @@ static int repeat_history_exec(bContext *C, wmOperator *op)
   return OPERATOR_FINISHED;
 }
 
-static bool repeat_history_poll(bContext *C)
-{
-  wmWindowManager *wm = CTX_wm_manager(C);
-  return ED_operator_screenactive(C) && !BLI_listbase_is_empty(&wm->operators);
-}
-
 static void SCREEN_OT_repeat_history(wmOperatorType *ot)
 {
   /* identifiers */
@@ -3650,7 +3638,7 @@ static void SCREEN_OT_repeat_history(wmOperatorType *ot)
   ot->invoke = repeat_history_invoke;
   ot->exec = repeat_history_exec;
 
-  ot->poll = repeat_history_poll;
+  ot->poll = ED_operator_screenactive;
 
   RNA_def_int(ot->srna, "index", 0, 0, INT_MAX, "Index", "", 0, 1000);
 }
@@ -3672,12 +3660,6 @@ static int redo_last_invoke(bContext *C, wmOperator *UNUSED(op), const wmEvent *
   return OPERATOR_CANCELLED;
 }
 
-static bool redo_last_poll(bContext *C)
-{
-  wmWindowManager *wm = CTX_wm_manager(C);
-  return ED_operator_screenactive(C) && !BLI_listbase_is_empty(&wm->operators);
-}
-
 static void SCREEN_OT_redo_last(wmOperatorType *ot)
 {
   /* identifiers */
@@ -3688,7 +3670,7 @@ static void SCREEN_OT_redo_last(wmOperatorType *ot)
   /* api callbacks */
   ot->invoke = redo_last_invoke;
 
-  ot->poll = redo_last_poll;
+  ot->poll = ED_operator_screenactive;
 }
 
 /** \} */
diff --git a/source/blender/editors/undo/ed_undo.c b/source/blender/editors/undo/ed_undo.c
index 99143cd71f9..ccbe12b4a93 100644
--- a/source/blender/editors/undo/ed_undo.c
+++ b/source/blender/editors/undo/ed_undo.c
@@ -392,15 +392,6 @@ static bool ed_undo_redo_poll(bContext *C)
           WM_operator_check_ui_enabled(C, last_op->type->name));
 }
 
-static bool ed_undo_poll(bContext *C)
-{
-  if (!ed_undo_is_init_and_screenactive_poll(C)) {
-    return false;
-  }
-  UndoStack *undo_stack = CTX_wm_manager(C)->undo_stack;
-  return (undo_stack->step_active != NULL) && (undo_stack->step_active->prev != NULL);
-}
-
 void ED_OT_undo(wmOperatorType *ot)
 {
   /* identifiers */
@@ -410,7 +401,7 @@ void ED_OT_undo(wmOperatorType *ot)
 
   /* api callbacks */
   ot->exec = ed_undo_exec;
-  ot->poll = ed_undo_poll;
+  ot->poll = ed_undo_is_init_and_screenactive_poll;
 }
 
 void ED_OT_undo_push(wmOperatorType *ot)
@@ -435,15 +426,6 @@ void ED_OT_undo_push(wmOperatorType *ot)
                  "");
 }
 
-static bool ed_redo_poll(bContext *C)
-{
-  if (!ed_undo_is_init_and_screenactive_poll(C)) {
-    return false;
-  }
-  UndoStack *undo_stack = CTX_wm_manager(C)->undo_stack;
-  return (undo_stack->step_active != NULL) && (undo_stack->step_active->next != NULL);
-}
-
 void ED_OT_redo(wmOperatorType *ot)
 {
   /* identifiers */
@@ -453,7 +435,7 @@ void ED_OT_redo(wmOperatorType *ot)
 
   /* api callbacks */
   ot->exec = ed_redo_exec;
-  ot->poll = ed_redo_poll;
+  ot->poll = ed_undo_is_init_and_screenactive_poll;
 }
 
 void ED_OT_undo_redo(wmOperatorType *ot)
@@ -651,16 +633,6 @@ static int undo_history_exec(bContext *C, wmOperator *op)
   return OPERATOR_CANCELLED;
 }
 
-static bool undo_history_poll(bContext *C)
-{
-  if (!ed_undo_is_init_and_screenactive_poll(C)) {
-    return false;
-  }
-  UndoStack *undo_stack = CTX_wm_manager(C)->undo_stack;
-  /* more than just original state entry */
-  return BLI_listbase_count_at_most(&undo_stack->steps, 2) > 1;
-}
-
 void ED_OT_undo_history(wmOperatorType *ot)
 {
   /* identifiers */
@@ -671,7 +643,7 @@ void ED_OT_undo_history(wmOperatorType *ot)
   /* api callbacks */
   ot->invoke = undo_history_invoke;
   ot->exec = undo_history_exec;
-  ot->poll = undo_history_poll;
+  ot->poll = ed_undo_is_init_and_screenactive_poll;
 
   RNA_def_int(ot->srna, "item", 0, 0, INT_MAX, "Item", "", 0, INT_MAX);
 }



More information about the Bf-blender-cvs mailing list