summaryrefslogtreecommitdiffstats
path: root/src/opengl
diff options
context:
space:
mode:
authorTom Cooksey <thomas.cooksey@nokia.com>2010-03-17 12:03:33 (GMT)
committerTom Cooksey <thomas.cooksey@nokia.com>2010-03-17 14:10:27 (GMT)
commite309914b0481201ed46f79f115548ebb22c19018 (patch)
treeb4c3dc292b5f94eba44e86649fac3e885e61ef19 /src/opengl
parentbd8e35f2e0a572d7c98b9c72eacfdeda435b0980 (diff)
downloadQt-e309914b0481201ed46f79f115548ebb22c19018.zip
Qt-e309914b0481201ed46f79f115548ebb22c19018.tar.gz
Qt-e309914b0481201ed46f79f115548ebb22c19018.tar.bz2
Make sure XCopyArea has completed before resuming rendering
Reviewed-By: TrustMe
Diffstat (limited to 'src/opengl')
-rw-r--r--src/opengl/qwindowsurface_x11gl.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/opengl/qwindowsurface_x11gl.cpp b/src/opengl/qwindowsurface_x11gl.cpp
index 1061008..7befe03 100644
--- a/src/opengl/qwindowsurface_x11gl.cpp
+++ b/src/opengl/qwindowsurface_x11gl.cpp
@@ -104,6 +104,12 @@ void QX11GLWindowSurface::flush(QWidget *widget, const QRegion &widgetRegion, co
boundingRect.x() + offset.x(), boundingRect.y() + offset.y(),
boundingRect.width(), boundingRect.height(),
windowBoundingRect.x(), windowBoundingRect.y());
+
+ QX11GLPixmapData* pmd = static_cast<QX11GLPixmapData*>(m_backBuffer.data_ptr().data());
+ Q_ASSERT(pmd->context());
+ pmd->context()->makeCurrent();
+ XSync(X11->display, False);
+ eglWaitNative(EGL_CORE_NATIVE_ENGINE);
}
void QX11GLWindowSurface::setGeometry(const QRect &rect)