Keymap: check modal keymap item poll function
Fixes T56591: Vertex/Edge slide C-Key fails
This commit is contained in:
@@ -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).
|
||||
|
Reference in New Issue
Block a user