From 7128bcbbd5b0597bfb36e6f0b3d148d5dfb1c3bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20R=C3=B8dal?= Date: Tue, 5 Mar 2013 16:08:40 +0100 Subject: Attempt to stabilize tst_qgl::graphicsViewClipping(). Make sure the graphics view is exposed and has been painted before trying to grab the framebuffer. Task-number: QTBUG-29943 Change-Id: I2945cb78b58265864744a0d5fc99fb430306b578 Reviewed-by: Gunnar Sletta --- tests/auto/opengl/qgl/tst_qgl.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'tests/auto/opengl/qgl/tst_qgl.cpp') diff --git a/tests/auto/opengl/qgl/tst_qgl.cpp b/tests/auto/opengl/qgl/tst_qgl.cpp index 6c5c90d737..d4d109b981 100644 --- a/tests/auto/opengl/qgl/tst_qgl.cpp +++ b/tests/auto/opengl/qgl/tst_qgl.cpp @@ -832,10 +832,19 @@ static void fuzzyCompareImages(const QImage &testImage, const QImage &referenceI class UnclippedWidget : public QWidget { public: + bool painted; + + UnclippedWidget() + : painted(false) + { + } + void paintEvent(QPaintEvent *) { QPainter p(this); p.fillRect(rect().adjusted(-1000, -1000, 1000, 1000), Qt::black); + + painted = true; } }; @@ -865,7 +874,9 @@ void tst_QGL::graphicsViewClipping() scene.setSceneRect(view.viewport()->rect()); - QVERIFY(QTest::qWaitForWindowActive(&view)); + QTest::qWaitForWindowExposed(&view); + + QTRY_VERIFY(widget->painted); QImage image = viewport->grabFrameBuffer(); QImage expected = image; -- cgit v1.2.3