Changeset View
Changeset View
Standalone View
Standalone View
source/blender/windowmanager/intern/wm_operator_type.c
| Show First 20 Lines • Show All 418 Lines • ▼ Show 20 Lines | if ((retval & OPERATOR_FINISHED) && opm->next) { | ||||
| wmEventHandler_Op *handler; | wmEventHandler_Op *handler; | ||||
| handler = BLI_findptr(&win->modalhandlers, op, offsetof(wmEventHandler_Op, op)); | handler = BLI_findptr(&win->modalhandlers, op, offsetof(wmEventHandler_Op, op)); | ||||
| if (handler) { | if (handler) { | ||||
| BLI_remlink(&win->modalhandlers, handler); | BLI_remlink(&win->modalhandlers, handler); | ||||
| wm_event_free_handler(&handler->head); | wm_event_free_handler(&handler->head); | ||||
| } | } | ||||
| /* if operator is blocking, grab cursor | /* If operator is blocking, grab cursor. | ||||
| * This may end up grabbing twice, but we don't care. | * This may end up grabbing twice, but we don't care. */ | ||||
| * */ | |||||
| if (op->opm->type->flag & OPTYPE_BLOCKING) { | if (op->opm->type->flag & OPTYPE_BLOCKING) { | ||||
| int bounds[4] = {-1, -1, -1, -1}; | int bounds[4] = {-1, -1, -1, -1}; | ||||
| int wrap = WM_CURSOR_WRAP_NONE; | int wrap = WM_CURSOR_WRAP_NONE; | ||||
| if ((op->opm->flag & OP_IS_MODAL_GRAB_CURSOR) || | if ((op->opm->flag & OP_IS_MODAL_GRAB_CURSOR) || | ||||
| (op->opm->type->flag & OPTYPE_GRAB_CURSOR_XY)) { | (op->opm->type->flag & OPTYPE_GRAB_CURSOR_XY)) { | ||||
| wrap = WM_CURSOR_WRAP_XY; | wrap = WM_CURSOR_WRAP_XY; | ||||
| } | } | ||||
| ▲ Show 20 Lines • Show All 197 Lines • Show Last 20 Lines | |||||