diff -r 3b1da2848fc7 -r d3bac044e0f0 tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp --- 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;