tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp
branchRCL_3
changeset 5 d3bac044e0f0
parent 4 3b1da2848fc7
child 8 3f74d0d4af4c
--- a/tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp	Fri Feb 19 23:40:16 2010 +0200
+++ b/tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp	Fri Mar 12 15:46:37 2010 +0200
@@ -163,6 +163,7 @@
     void addChildInpolishEvent();
     void polishEvent();
     void polishEvent2();
+    void initialShow();
 
     // Task fixes
     void task236127_bspTreeIndexFails();
@@ -2856,6 +2857,30 @@
     QVERIFY(widget->events.contains(QEvent::Polish));
 }
 
+void tst_QGraphicsWidget::initialShow()
+{
+    class MyGraphicsWidget : public QGraphicsWidget
+    { public:
+        MyGraphicsWidget() : repaints(0) {}
+        int repaints;
+        void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget*) { ++repaints; }
+        void polishEvent() { update(); }
+    };
+
+    QGraphicsScene scene;
+    MyGraphicsWidget *widget = new MyGraphicsWidget;
+
+    QGraphicsView view(&scene);
+    view.show();
+    QTest::qWaitForWindowShown(&view);
+
+    QTest::qWait(100);
+    scene.addItem(widget);
+    QTest::qWait(100);
+
+    QCOMPARE(widget->repaints, 1);
+}
+
 void tst_QGraphicsWidget::QT_BUG_6544_tabFocusFirstUnsetWhenRemovingItems()
 {
     QGraphicsScene scene;