summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel/qguiapplication.cpp
diff options
context:
space:
mode:
authorTor Arne Vestbø <tor.arne.vestbo@qt.io>2017-02-06 15:20:10 +0100
committerTor Arne Vestbø <tor.arne.vestbo@qt.io>2017-02-15 14:37:03 +0000
commit54e4735f89489da9f1cf71b85561a4939e8a42e3 (patch)
tree3e7988d3d2b7c4130f4355b17a7f44eeddd0d24d /src/gui/kernel/qguiapplication.cpp
parent1037eebc0b481678a40f034284d489e278be557a (diff)
qpa: Let platform plugins report old state for window state changes
The previous logic relied on QPlatformWindow::setWindowState() being synchronous and delivering the QPA event before returning to QWindow, in which case window->windowState() would still refer to the old state. Async platforms can now report the previous state correctly. Change-Id: Ib9148fe23fb62be55b7e3a0ccf63d32c71dc2ad3 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Diffstat (limited to 'src/gui/kernel/qguiapplication.cpp')
-rw-r--r--src/gui/kernel/qguiapplication.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/gui/kernel/qguiapplication.cpp b/src/gui/kernel/qguiapplication.cpp
index e4eabc815e..7c596d5ae5 100644
--- a/src/gui/kernel/qguiapplication.cpp
+++ b/src/gui/kernel/qguiapplication.cpp
@@ -2162,7 +2162,7 @@ void QGuiApplicationPrivate::processActivatedEvent(QWindowSystemInterfacePrivate
void QGuiApplicationPrivate::processWindowStateChangedEvent(QWindowSystemInterfacePrivate::WindowStateChangedEvent *wse)
{
if (QWindow *window = wse->window.data()) {
- QWindowStateChangeEvent e(window->windowState());
+ QWindowStateChangeEvent e(wse->oldState);
window->d_func()->windowState = wse->newState;
QGuiApplication::sendSpontaneousEvent(window, &e);
}