From 8e741a0d0b30ac85e58311e0f4dfdf04438157eb Mon Sep 17 00:00:00 2001 From: Cody Date: Sat, 11 Apr 2020 23:01:16 -0700 Subject: [PATCH] fixed tab focus for pinned windows --- apps/openmw/mwgui/keyboardnavigation.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/apps/openmw/mwgui/keyboardnavigation.cpp b/apps/openmw/mwgui/keyboardnavigation.cpp index 3f98b8607..d6922dc83 100644 --- a/apps/openmw/mwgui/keyboardnavigation.cpp +++ b/apps/openmw/mwgui/keyboardnavigation.cpp @@ -116,6 +116,13 @@ void KeyboardNavigation::onFrame() if (!mEnabled) return; + MWGui::GuiMode mode = MWBase::Environment::get().getWindowManager()->getMode(); + if (mode == GM_None) + { + MWBase::Environment::get().getWindowManager()->setKeyFocusWidget(nullptr); + return; + } + MyGUI::Widget* focus = MyGUI::InputManager::getInstance().getKeyFocusWidget(); if (focus == mCurrentFocus) @@ -215,6 +222,10 @@ bool KeyboardNavigation::injectKeyPress(MyGUI::KeyCode key, unsigned int text, b bool KeyboardNavigation::switchFocus(int direction, bool wrap) { + MWGui::GuiMode mode = MWBase::Environment::get().getWindowManager()->getMode(); + if (mode == GM_None) + return false; + MyGUI::Widget* focus = MyGUI::InputManager::getInstance().getKeyFocusWidget(); bool isCycle = (direction == D_Prev || direction == D_Next);