summaryrefslogtreecommitdiffstats
path: root/src/client/qwaylanddisplay.cpp
diff options
context:
space:
mode:
authorPaul Olav Tvete <paul.tvete@gmail.com>2016-08-26 19:14:40 +0200
committerPaul Olav Tvete <paul.tvete@gmail.com>2016-08-26 19:18:59 +0200
commitae9bfd29b42156fb8f04dfa60b9e48ce10ebacb8 (patch)
treec0412b8670fa3de5e608665b1028d3ff66a90192 /src/client/qwaylanddisplay.cpp
parente23550aaa4336fcba125f81cd498f4a15e41f5b7 (diff)
parentf21246748ce20cd86346e192fe0c4c76a9b08a7c (diff)
Merge remote-tracking branch 'qt/5.6' into 5.7
Diffstat (limited to 'src/client/qwaylanddisplay.cpp')
-rw-r--r--src/client/qwaylanddisplay.cpp17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/client/qwaylanddisplay.cpp b/src/client/qwaylanddisplay.cpp
index 5687a750a..a5e61e28a 100644
--- a/src/client/qwaylanddisplay.cpp
+++ b/src/client/qwaylanddisplay.cpp
@@ -409,13 +409,16 @@ void QWaylandDisplay::handleKeyboardFocusChanged(QWaylandInputDevice *inputDevic
{
QWaylandWindow *keyboardFocus = inputDevice->keyboardFocus();
- if (!keyboardFocus->shellSurface()->shellManagesActiveState() && mLastKeyboardFocus != keyboardFocus) {
- if (keyboardFocus)
- handleWindowActivated(keyboardFocus);
- if (mLastKeyboardFocus)
- handleWindowDeactivated(mLastKeyboardFocus);
- }
- mLastKeyboardFocus = inputDevice->keyboardFocus();
+ if (mLastKeyboardFocus == keyboardFocus)
+ return;
+
+ if (keyboardFocus && !keyboardFocus->shellManagesActiveState())
+ handleWindowActivated(keyboardFocus);
+
+ if (mLastKeyboardFocus && !mLastKeyboardFocus->shellManagesActiveState())
+ handleWindowDeactivated(mLastKeyboardFocus);
+
+ mLastKeyboardFocus = keyboardFocus;
}
void QWaylandDisplay::handleWaylandSync()