From 70e82142d14caa35e11be7f7ad4b27f6daae3250 Mon Sep 17 00:00:00 2001 From: Deve Date: Mon, 19 Nov 2018 21:42:43 +0100 Subject: [PATCH] Get default widget from modal dialog when it's active --- src/guiengine/event_handler.cpp | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/guiengine/event_handler.cpp b/src/guiengine/event_handler.cpp index 4f2450043..8f790092d 100644 --- a/src/guiengine/event_handler.cpp +++ b/src/guiengine/event_handler.cpp @@ -400,9 +400,19 @@ void EventHandler::sendNavigationEvent(const NavigationDirection nav, const int if (w == NULL) { Widget* defaultWidget = NULL; - Screen* screen = GUIEngine::getCurrentScreen(); - if (screen == NULL) return; - defaultWidget = screen->getFirstWidget(); + + if (ScreenKeyboard::isActive()) + { + defaultWidget = ScreenKeyboard::getCurrent()->getFirstWidget(); + } + else if (ModalDialog::isADialogActive()) + { + defaultWidget = ModalDialog::getCurrent()->getFirstWidget(); + } + else if (GUIEngine::getCurrentScreen() != NULL) + { + defaultWidget = GUIEngine::getCurrentScreen()->getFirstWidget(); + } if (defaultWidget != NULL) {