From dd8ae3d39b9181bebcba6ea60fb9edc2aea0a4e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Morten=20Johan=20S=C3=B8rvig?= Date: Mon, 22 Nov 2010 14:40:30 +0100 Subject: Revert "Resolve two save/restore geometry issues on X11." This reverts commit 3b80b70d1464320aee2b38ddeb1ec0d257f6bd1c. --- src/gui/kernel/qwidget.cpp | 7 ++++++- tests/auto/qwidget/tst_qwidget.cpp | 7 +------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/gui/kernel/qwidget.cpp b/src/gui/kernel/qwidget.cpp index 6bc699c..cd1c9f0 100644 --- a/src/gui/kernel/qwidget.cpp +++ b/src/gui/kernel/qwidget.cpp @@ -7066,8 +7066,13 @@ bool QWidget::restoreGeometry(const QByteArray &geometry) setWindowState(ws); d_func()->topData()->normalGeometry = restoredNormalGeometry; } else { + QPoint offset; +#ifdef Q_WS_X11 + if (isFullScreen()) + offset = d_func()->topData()->fullScreenOffset; +#endif setWindowState(windowState() & ~(Qt::WindowMaximized | Qt::WindowFullScreen)); - move(restoredFrameGeometry.topLeft()); + move(restoredFrameGeometry.topLeft() + offset); resize(restoredNormalGeometry.size()); } return true; diff --git a/tests/auto/qwidget/tst_qwidget.cpp b/tests/auto/qwidget/tst_qwidget.cpp index ba6d8ba..d230f2c 100644 --- a/tests/auto/qwidget/tst_qwidget.cpp +++ b/tests/auto/qwidget/tst_qwidget.cpp @@ -3272,13 +3272,8 @@ void tst_QWidget::restoreVersion1Geometry() QTest::qWait(10); if (expectedWindowState != Qt::WindowNoState) { -#ifndef Q_WS_X11 - // X11 fullscreen handling has changed. The window is positioned correctly - // on screen, but geometry() returns different values. Let this silently - // fail when restoring from version1 data. + // restoring from maximized or fullscreen, we can only restore to the normal geometry QTRY_COMPARE(widget.geometry(), expectedNormalGeometry); -#endif - } else { QTRY_COMPARE(widget.pos(), expectedPosition); QTRY_COMPARE(widget.size(), expectedSize); -- cgit v0.12