diff options
author | Tom Cooksey <thomas.cooksey@nokia.com> | 2010-03-17 12:03:33 (GMT) |
---|---|---|
committer | Tom Cooksey <thomas.cooksey@nokia.com> | 2010-03-17 14:10:27 (GMT) |
commit | e309914b0481201ed46f79f115548ebb22c19018 (patch) | |
tree | b4c3dc292b5f94eba44e86649fac3e885e61ef19 /src/opengl/qwindowsurface_x11gl.cpp | |
parent | bd8e35f2e0a572d7c98b9c72eacfdeda435b0980 (diff) | |
download | Qt-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/qwindowsurface_x11gl.cpp')
-rw-r--r-- | src/opengl/qwindowsurface_x11gl.cpp | 6 |
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) |