summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMorten Johan Sørvig <morten.sorvig@nokia.com>2010-11-22 13:40:30 (GMT)
committerMorten Johan Sørvig <morten.sorvig@nokia.com>2010-11-22 13:40:30 (GMT)
commitdd8ae3d39b9181bebcba6ea60fb9edc2aea0a4e2 (patch)
treed238497b25df4a72ec834dad86aaf76d37898a0e
parent718dc1e87de2cb991e4000e480ea61bf5d559e62 (diff)
downloadQt-dd8ae3d39b9181bebcba6ea60fb9edc2aea0a4e2.zip
Qt-dd8ae3d39b9181bebcba6ea60fb9edc2aea0a4e2.tar.gz
Qt-dd8ae3d39b9181bebcba6ea60fb9edc2aea0a4e2.tar.bz2
Revert "Resolve two save/restore geometry issues on X11."
This reverts commit 3b80b70d1464320aee2b38ddeb1ec0d257f6bd1c.
-rw-r--r--src/gui/kernel/qwidget.cpp7
-rw-r--r--tests/auto/qwidget/tst_qwidget.cpp7
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);