summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMorten Johan Sørvig <morten.sorvig@digia.com>2013-04-22 13:11:29 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-05-23 12:49:39 +0200
commit5d07a4d9448f60139c711e592cbf3ac47d4df3d7 (patch)
tree4a7310a5901e086af1cd69e585c3afeecfccf20e
parentb2cce40b3059e01f95bed8cb2be0059b343b670c (diff)
Process initial expose events immediately.
Required to prevent qmlscene flicker on startup. Also brings back that qWait() in tst_QGL::graphicsViewClipping() that seems necessary after all. Amended-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com> Change-Id: I14ba6e18ac98e5df1ce8ecbc263b30176b67d111 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
-rw-r--r--src/plugins/platforms/cocoa/qcocoawindow.mm1
-rw-r--r--tests/auto/opengl/qgl/tst_qgl.cpp4
2 files changed, 5 insertions, 0 deletions
diff --git a/src/plugins/platforms/cocoa/qcocoawindow.mm b/src/plugins/platforms/cocoa/qcocoawindow.mm
index 83678ddf67..94904c12f6 100644
--- a/src/plugins/platforms/cocoa/qcocoawindow.mm
+++ b/src/plugins/platforms/cocoa/qcocoawindow.mm
@@ -320,6 +320,7 @@ void QCocoaWindow::setVisible(bool visible)
// - QNSViews for child windows are initialy not hidden and won't get the
// viewDidUnhide message.
exposeWindow();
+ QWindowSystemInterface::flushWindowSystemEvents();
if (m_nsWindow) {
// setWindowState might have been called while the window was hidden and
diff --git a/tests/auto/opengl/qgl/tst_qgl.cpp b/tests/auto/opengl/qgl/tst_qgl.cpp
index 00973cf533..28ec699427 100644
--- a/tests/auto/opengl/qgl/tst_qgl.cpp
+++ b/tests/auto/opengl/qgl/tst_qgl.cpp
@@ -875,6 +875,10 @@ void tst_QGL::graphicsViewClipping()
scene.setSceneRect(view.viewport()->rect());
QVERIFY(QTest::qWaitForWindowExposed(&view));
+ #ifdef Q_OS_MAC
+ // The black rectangle jumps from the center to the upper left for some reason.
+ QTest::qWait(100);
+ #endif
QTRY_VERIFY(widget->painted);