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>bb10
parent
c92fedd761
commit
18fa1ed747
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue