diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2020-04-14 12:25:07 +0200 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2020-04-15 07:39:38 +0200 |
commit | 18fa1ed74745931c15d525703ac05bbf3f2c9c5b (patch) | |
tree | e2f635d4a7390e93ea13dd1a6b48b8cf936eaa88 /src/plugins | |
parent | c92fedd761206231f13838528943619b84df55bf (diff) |
Windows QPA: Fix showing translucent windows maximized/full screen
Translucent (layered) windows require an additional expose
event. This was sent with the wrong size since the order of
handleGeometryChange(), handleWindowStateChange() in
handleResized was wrong.
Fixes: QTBUG-83449
Change-Id: Iafd3fa8c0893aa28079201f73b7eb529087ba079
Reviewed-by: André de la Rocha <andre.rocha@qt.io>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Diffstat (limited to 'src/plugins')
-rw-r--r-- | src/plugins/platforms/windows/qwindowswindow.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/plugins/platforms/windows/qwindowswindow.cpp b/src/plugins/platforms/windows/qwindowswindow.cpp index 01f6bef42e..429e30728f 100644 --- a/src/plugins/platforms/windows/qwindowswindow.cpp +++ b/src/plugins/platforms/windows/qwindowswindow.cpp @@ -1904,12 +1904,13 @@ void QWindowsWindow::handleResized(int wParam) handleWindowStateChange(m_windowState | Qt::WindowMinimized); return; case SIZE_MAXIMIZED: + handleGeometryChange(); if (!testFlag(WithinSetStyle) && !testFlag(WithinSetGeometry)) handleWindowStateChange(Qt::WindowMaximized | (isFullScreen_sys() ? Qt::WindowFullScreen : Qt::WindowNoState)); - handleGeometryChange(); break; case SIZE_RESTORED: + handleGeometryChange(); if (!testFlag(WithinSetStyle) && !testFlag(WithinSetGeometry)) { if (isFullScreen_sys()) handleWindowStateChange( @@ -1918,7 +1919,6 @@ void QWindowsWindow::handleResized(int wParam) else if (m_windowState != Qt::WindowNoState && !testFlag(MaximizeToFullScreen)) handleWindowStateChange(Qt::WindowNoState); } - handleGeometryChange(); break; } } |