From a410273fabb294b46b04f7ccee38bab668413061 Mon Sep 17 00:00:00 2001 From: Caroline Chao Date: Tue, 12 Mar 2013 09:24:16 +0100 Subject: Fix wrong initial position If the widget is larger than the screen, its title bar top left corner will be shown inside the screen. Task-number: QTBUG-30142 Change-Id: Id93773874be3616b3ef4b9bee6e1bb751c541d7b Reviewed-by: Caroline Chao Reviewed-by: Shawn Rutledge --- tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'tests/auto/widgets/kernel/qwidget') diff --git a/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp b/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp index e6b1caf694..3d7cc14a5d 100644 --- a/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp +++ b/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp @@ -412,6 +412,7 @@ private slots: void keyboardModifiers(); void mouseDoubleClickBubbling_QTBUG29680(); + void largerThanScreen_QTBUG30142(); private: bool ensureScreenSize(int width, int height); @@ -10074,5 +10075,20 @@ void tst_QWidget::mouseDoubleClickBubbling_QTBUG29680() QTRY_VERIFY(parent.triggered); } +void tst_QWidget::largerThanScreen_QTBUG30142() +{ + QWidget widget; + widget.resize(200, 4000); + widget.show(); + QVERIFY(QTest::qWaitForWindowExposed(&widget)); + QVERIFY(widget.frameGeometry().y() >= 0); + + QWidget widget2; + widget2.resize(10000, 400); + widget2.show(); + QVERIFY(QTest::qWaitForWindowExposed(&widget2)); + QVERIFY(widget2.frameGeometry().x() >= 0); +} + QTEST_MAIN(tst_QWidget) #include "tst_qwidget.moc" -- cgit v1.2.3