diff --git a/src/dlangui/widgets/widget.d b/src/dlangui/widgets/widget.d index 2b62c6e9..07e2f8ad 100644 --- a/src/dlangui/widgets/widget.d +++ b/src/dlangui/widgets/widget.d @@ -1189,7 +1189,13 @@ public: Action action = findKeyAction(event.keyCode, event.flags); // & (KeyFlag.Shift | KeyFlag.Alt | KeyFlag.Control | KeyFlag.Menu) if (action !is null) { //Log.d("Action found: ", action.id, " ", action.labelValue.id); - return dispatchAction(action); + // update action state + if (updateActionState(action, true) && action is _action) + handleActionStateChanged(); + + //run only enabled actions + if (action.state.enabled) + return dispatchAction(action); } } // handle focus navigation using keys