WM: use pass-through for cursor placement operator

This is needed since 4d0f846b93
however change in the operator instead of the event handler is correct,
as accepting a press event should suppress drag events unless
the pass-through flag is set.

This is how select & tweak already works.
This commit is contained in:
Campbell Barton 2022-03-03 20:31:18 +11:00
parent ec09ded792
commit d66b047ca3
4 changed files with 8 additions and 4 deletions

View File

@ -1779,7 +1779,8 @@ static int clip_set_2d_cursor_exec(bContext *C, wmOperator *op)
WM_event_add_notifier(C, NC_SPACE | ND_SPACE_CLIP, NULL);
return OPERATOR_FINISHED;
/* Use pass-through to allow click-drag to transform the cursor. */
return OPERATOR_FINISHED | OPERATOR_PASS_THROUGH;
}
static int clip_set_2d_cursor_invoke(bContext *C, wmOperator *op, const wmEvent *event)

View File

@ -3510,7 +3510,8 @@ static int sequencer_set_2d_cursor_exec(bContext *C, wmOperator *op)
WM_event_add_notifier(C, NC_SPACE | ND_SPACE_SEQUENCER, NULL);
return OPERATOR_FINISHED;
/* Use pass-through to allow click-drag to transform the cursor. */
return OPERATOR_FINISHED | OPERATOR_PASS_THROUGH;
}
static int sequencer_set_2d_cursor_invoke(bContext *C, wmOperator *op, const wmEvent *event)

View File

@ -1063,7 +1063,8 @@ static int view3d_cursor3d_invoke(bContext *C, wmOperator *op, const wmEvent *ev
const enum eV3DCursorOrient orientation = RNA_enum_get(op->ptr, "orientation");
ED_view3d_cursor3d_update(C, event->mval, use_depth, orientation);
return OPERATOR_FINISHED;
/* Use pass-through to allow click-drag to transform the cursor. */
return OPERATOR_FINISHED | OPERATOR_PASS_THROUGH;
}
void VIEW3D_OT_cursor3d(wmOperatorType *ot)

View File

@ -1739,7 +1739,8 @@ static int uv_set_2d_cursor_exec(bContext *C, wmOperator *op)
WM_event_add_notifier(C, NC_SPACE | ND_SPACE_IMAGE, NULL);
return OPERATOR_FINISHED;
/* Use pass-through to allow click-drag to transform the cursor. */
return OPERATOR_FINISHED | OPERATOR_PASS_THROUGH;
}
static int uv_set_2d_cursor_invoke(bContext *C, wmOperator *op, const wmEvent *event)