Keymap: check modal keymap item poll function

Fixes T56591: Vertex/Edge slide C-Key fails
This commit is contained in:
Campbell Barton
2018-08-29 11:29:29 +10:00
parent ab2b6134c9
commit c489c8481f

View File

@@ -1871,16 +1871,18 @@ static void wm_event_modalkeymap(const bContext *C, wmOperator *op, wmEvent *eve
for (kmi = keymap->items.first; kmi; kmi = kmi->next) {
if (wm_eventmatch(event, kmi)) {
if ((keymap->poll_modal_item == NULL) ||
(keymap->poll_modal_item(op, kmi->propvalue)))
{
event->prevtype = event->type;
event->prevval = event->val;
event->type = EVT_MODAL_MAP;
event->val = kmi->propvalue;
break;
}
}
}
}
else {
/* modal keymap checking returns handled events fine, but all hardcoded modal
* handling typically swallows all events (OPERATOR_RUNNING_MODAL).