[Bf-blender-cvs] [048c769774a] master: Fix T97277: Tweak drag transforming is broken for masks (RMB select)

Campbell Barton noreply at git.blender.org
Fri Apr 22 09:37:56 CEST 2022


Commit: 048c769774ac7f2be32ecb354f0416bd13b632e6
Author: Campbell Barton
Date:   Fri Apr 22 17:35:37 2022 +1000
Branches: master
https://developer.blender.org/rB048c769774ac7f2be32ecb354f0416bd13b632e6

Fix T97277: Tweak drag transforming is broken for masks (RMB select)

Regression in 4d0f846b936c9101ecb76a6db962aac2d74a460a,
passing selection through to drag relied on tweak events running
even when the press event was handled which is not the case for drag.

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

M	source/blender/editors/mask/mask_select.c

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

diff --git a/source/blender/editors/mask/mask_select.c b/source/blender/editors/mask/mask_select.c
index e3c3f1c38a0..0bd054e1b89 100644
--- a/source/blender/editors/mask/mask_select.c
+++ b/source/blender/editors/mask/mask_select.c
@@ -319,7 +319,7 @@ static int select_exec(bContext *C, wmOperator *op)
 
     ED_mask_view_lock_state_restore_no_jump(C, &lock_state);
 
-    return OPERATOR_FINISHED;
+    return OPERATOR_PASS_THROUGH | OPERATOR_FINISHED;
   }
 
   MaskSplinePointUW *uw;
@@ -361,14 +361,14 @@ static int select_exec(bContext *C, wmOperator *op)
 
     ED_mask_view_lock_state_restore_no_jump(C, &lock_state);
 
-    return OPERATOR_FINISHED;
+    return OPERATOR_PASS_THROUGH | OPERATOR_FINISHED;
   }
   if (deselect_all) {
     /* For clip editor tracks, leave deselect all to clip editor. */
     if (!ED_clip_can_select(C)) {
       ED_mask_deselect_all(C);
       ED_mask_view_lock_state_restore_no_jump(C, &lock_state);
-      return OPERATOR_FINISHED;
+      return OPERATOR_PASS_THROUGH | OPERATOR_FINISHED;
     }
   }
 
@@ -386,7 +386,9 @@ static int select_invoke(bContext *C, wmOperator *op, const wmEvent *event)
 
   RNA_float_set_array(op->ptr, "location", co);
 
-  return select_exec(C, op);
+  const int retval = select_exec(C, op);
+
+  return WM_operator_flag_only_pass_through_on_press(retval, event);
 }
 
 void MASK_OT_select(wmOperatorType *ot)



More information about the Bf-blender-cvs mailing list