tests/auto/qdockwidget/tst_qdockwidget.cpp
changeset 30 5dc02b23752f
parent 18 2f34d5167611
--- a/tests/auto/qdockwidget/tst_qdockwidget.cpp	Wed Jun 23 19:07:03 2010 +0300
+++ b/tests/auto/qdockwidget/tst_qdockwidget.cpp	Tue Jul 06 15:10:48 2010 +0300
@@ -96,6 +96,7 @@
     void task248604_infiniteResize();
     void task258459_visibilityChanged();
     void taskQTBUG_1665_closableChanged();
+	void taskQTBUG_9758_undockedGeometry();
 };
 
 // Testing get/set functions
@@ -653,7 +654,7 @@
     QCOMPARE(qvariant_cast<Qt::DockWidgetArea>(spy.at(0).at(0)),
                 Qt::TopDockWidgetArea);
     spy.clear();
-    
+
     dw.setFloating(true);
     QTest::qWait(100);
     dw.setFloating(false);
@@ -878,6 +879,27 @@
     QVERIFY(!(dock.windowFlags() & Qt::WindowCloseButtonHint));
 }
 
+void tst_QDockWidget::taskQTBUG_9758_undockedGeometry()
+{
+    QMainWindow window;
+    QDockWidget dock1(&window);
+    QDockWidget dock2(&window);
+    window.addDockWidget(Qt::RightDockWidgetArea, &dock1);
+    window.addDockWidget(Qt::RightDockWidgetArea, &dock2);
+    window.tabifyDockWidget(&dock1, &dock2);
+    dock1.hide();
+    dock2.hide();
+    window.show();
+    QTest::qWaitForWindowShown(&window);
+    dock1.setFloating(true);
+    dock1.show();
+    QTest::qWaitForWindowShown(&dock1);
+
+    QVERIFY(dock1.x() >= 0);
+    QVERIFY(dock1.y() >= 0);
+}
+
+
 
 QTEST_MAIN(tst_QDockWidget)
 #include "tst_qdockwidget.moc"