diff options
Diffstat (limited to 'src/input/inputhandler.cpp')
-rw-r--r-- | src/input/inputhandler.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/input/inputhandler.cpp b/src/input/inputhandler.cpp index 47a8705fa..28299e357 100644 --- a/src/input/inputhandler.cpp +++ b/src/input/inputhandler.cpp @@ -41,6 +41,8 @@ #include "inputhandler_p.h" #include "inputmanagers_p.h" +#include "keyboardeventfilter_p.h" +#include <QWindow> QT_BEGIN_NAMESPACE @@ -52,13 +54,20 @@ InputHandler::InputHandler() : m_keyboardControllerManager(new KeyboardControllerManager()) , m_keyboardInputManager(new KeyboardInputManager()) , m_window(Q_NULLPTR) + , m_keyboardEventFilter(new KeyboardEventFilter()) { + m_keyboardEventFilter->setInputHandler(this); } +// Called in MainThread void InputHandler::setWindow(QWindow *window) { if (window != m_window) { + if (m_window) + m_window->removeEventFilter(m_keyboardEventFilter); m_window = window; + if (m_window) + m_window->installEventFilter(m_keyboardEventFilter); } } |