diff options
author | Antony Riakiotakis <kalast@gmail.com> | 2014-08-14 12:45:00 +0400 |
---|---|---|
committer | Antony Riakiotakis <kalast@gmail.com> | 2014-08-14 12:45:00 +0400 |
commit | 6f6347e4372770d57a932cf2c390be8489146a76 (patch) | |
tree | 544d0e03d43d7b6aac6a999fa5c7fd7fb34c60b2 /source/blender/editors | |
parent | 630f343b30d8b7deb59a7e0ecd0b8f957a536319 (diff) |
Revert modal operation of cursor. This change was far less innocent than
was first thought and could mess up tweaking events for the left mouse.
Diffstat (limited to 'source/blender/editors')
-rw-r--r-- | source/blender/editors/sculpt_paint/paint_curve.c | 58 | ||||
-rw-r--r-- | source/blender/editors/space_view3d/view3d_edit.c | 26 |
2 files changed, 24 insertions, 60 deletions
diff --git a/source/blender/editors/sculpt_paint/paint_curve.c b/source/blender/editors/sculpt_paint/paint_curve.c index 217c88c87ea..8c7c3b102e3 100644 --- a/source/blender/editors/sculpt_paint/paint_curve.c +++ b/source/blender/editors/sculpt_paint/paint_curve.c @@ -744,44 +744,31 @@ void PAINTCURVE_OT_draw(wmOperatorType *ot) ot->flag = OPTYPE_UNDO; } -static int paintcurve_cursor_invoke(bContext *C, wmOperator *op, const wmEvent *event) +static int paintcurve_cursor_invoke(bContext *C, wmOperator *UNUSED(op), const wmEvent *event) { - op->customdata = SET_INT_IN_POINTER(event->type); - WM_event_add_modal_handler(C, op); - - return OPERATOR_RUNNING_MODAL; -} - -static int paintcurve_cursor_modal(bContext *C, wmOperator *op, const wmEvent *event) -{ - if (event->type == GET_INT_FROM_POINTER(op->customdata) && event->val == KM_RELEASE) - return OPERATOR_FINISHED; - - if (event->type == MOUSEMOVE) { - PaintMode mode = BKE_paintmode_get_active_from_context(C); - - switch (mode) { - case PAINT_TEXTURE_2D: - { - ARegion *ar = CTX_wm_region(C); - SpaceImage *sima = CTX_wm_space_image(C); - float location[2]; - - if (!sima) - return OPERATOR_CANCELLED; - - UI_view2d_region_to_view(&ar->v2d, event->mval[0], event->mval[1], &location[0], &location[1]); - copy_v2_v2(sima->cursor, location); - WM_event_add_notifier(C, NC_SPACE | ND_SPACE_IMAGE, NULL); - break; - } - default: - ED_view3d_cursor3d_update(C, event->mval); - break; + PaintMode mode = BKE_paintmode_get_active_from_context(C); + + switch (mode) { + case PAINT_TEXTURE_2D: + { + ARegion *ar = CTX_wm_region(C); + SpaceImage *sima = CTX_wm_space_image(C); + float location[2]; + + if (!sima) + return OPERATOR_CANCELLED; + + UI_view2d_region_to_view(&ar->v2d, event->mval[0], event->mval[1], &location[0], &location[1]); + copy_v2_v2(sima->cursor, location); + WM_event_add_notifier(C, NC_SPACE | ND_SPACE_IMAGE, NULL); + break; } + default: + ED_view3d_cursor3d_update(C, event->mval); + break; } - - return OPERATOR_RUNNING_MODAL; + + return OPERATOR_FINISHED; } void PAINTCURVE_OT_cursor(wmOperatorType *ot) @@ -793,7 +780,6 @@ void PAINTCURVE_OT_cursor(wmOperatorType *ot) /* api callbacks */ ot->invoke = paintcurve_cursor_invoke; - ot->modal = paintcurve_cursor_modal; ot->poll = paint_curve_poll; /* flags */ diff --git a/source/blender/editors/space_view3d/view3d_edit.c b/source/blender/editors/space_view3d/view3d_edit.c index 5988473588b..6cd2e7bfe1b 100644 --- a/source/blender/editors/space_view3d/view3d_edit.c +++ b/source/blender/editors/space_view3d/view3d_edit.c @@ -4488,32 +4488,11 @@ void ED_view3d_cursor3d_update(bContext *C, const int mval[2]) WM_event_add_notifier(C, NC_SCENE | NA_EDITED, scene); } -static int view3d_cursor3d_invoke(bContext *C, wmOperator *op, const wmEvent *event) +static int view3d_cursor3d_invoke(bContext *C, wmOperator *UNUSED(op), const wmEvent *event) { ED_view3d_cursor3d_update(C, event->mval); - op->customdata = SET_INT_IN_POINTER(event->type); - WM_event_add_modal_handler(C, op); - return OPERATOR_RUNNING_MODAL; -} - -static int view3d_cursor3d_modal(bContext *C, wmOperator *op, const wmEvent *event) -{ - int event_type = GET_INT_FROM_POINTER(op->customdata); - - if (event->type == event_type) { - return OPERATOR_FINISHED; - } - - switch (event->type) { - case MOUSEMOVE: - ED_view3d_cursor3d_update(C, event->mval); - break; - case LEFTMOUSE: - return OPERATOR_FINISHED; - } - - return OPERATOR_RUNNING_MODAL; + return OPERATOR_FINISHED; } void VIEW3D_OT_cursor3d(wmOperatorType *ot) @@ -4526,7 +4505,6 @@ void VIEW3D_OT_cursor3d(wmOperatorType *ot) /* api callbacks */ ot->invoke = view3d_cursor3d_invoke; - ot->modal = view3d_cursor3d_modal; ot->poll = ED_operator_view3d_active; |