diff options
author | Axel Spoerl <axel.spoerl@qt.io> | 2022-06-15 23:50:30 +0200 |
---|---|---|
committer | Axel Spoerl <axel.spoerl@qt.io> | 2022-06-17 18:59:22 +0000 |
commit | 99c8ffb9f259760e45618f0988bbd79237d6d291 (patch) | |
tree | b3ad858f0d1017d3ae70d8eafe9788062172455d /src/plugins/platforms/xcb/qxcbwindow.cpp | |
parent | 8790da89882f833aedf26cf444e334ab14258679 (diff) |
Update window state in QWindowsWindow and QXcbWindow geometry setters
When QWidget::resize() is called on a maximized or minimized QWidget,
the window state of the widget and the corresponding QWindow is not
updated (i.e. remains maximized or minimized).
This patch updates the window state to Qt:WindowNoState when
setGeometry() is called in QWindowsWindow or QXcbWindow.
A test is added in tst_QWidget.
Fixes: QTBUG-104201
Pick-to: 6.4
Change-Id: I07491fb9293d13509573fc403750da0a50f6a785
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Diffstat (limited to 'src/plugins/platforms/xcb/qxcbwindow.cpp')
-rw-r--r-- | src/plugins/platforms/xcb/qxcbwindow.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/plugins/platforms/xcb/qxcbwindow.cpp b/src/plugins/platforms/xcb/qxcbwindow.cpp index 0162d058a6..c18c1fcfd9 100644 --- a/src/plugins/platforms/xcb/qxcbwindow.cpp +++ b/src/plugins/platforms/xcb/qxcbwindow.cpp @@ -515,6 +515,8 @@ void QXcbWindow::destroy() void QXcbWindow::setGeometry(const QRect &rect) { + setWindowState(Qt::WindowNoState); + QPlatformWindow::setGeometry(rect); propagateSizeHints(); |