From 2149763b7293be2360beb3ec1fe9117c508eedd1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8rgen=20Lind?= Date: Thu, 7 Apr 2011 13:57:03 +0200 Subject: Wayland: Fix xpixmap_glx readback after multi threading --- .../gl_integration/xpixmap_glx/qwaylandxpixmapglxcontext.cpp | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/plugins/platforms/wayland/gl_integration/xpixmap_glx/qwaylandxpixmapglxcontext.cpp b/src/plugins/platforms/wayland/gl_integration/xpixmap_glx/qwaylandxpixmapglxcontext.cpp index f98e026..e856c03 100644 --- a/src/plugins/platforms/wayland/gl_integration/xpixmap_glx/qwaylandxpixmapglxcontext.cpp +++ b/src/plugins/platforms/wayland/gl_integration/xpixmap_glx/qwaylandxpixmapglxcontext.cpp @@ -46,10 +46,6 @@ void QWaylandXPixmapGLXContext::makeCurrent() { QPlatformGLContext::makeCurrent(); - while(mWindow->waitingForFrameSync()) { - mGlxIntegration->waylandDisplay()->iterate(); - } - glXMakeCurrent(mGlxIntegration->xDisplay(),mGlxPixmap,mContext); } @@ -82,6 +78,7 @@ void QWaylandXPixmapGLXContext::swapBuffers() mWindow->damage(QRegion(QRect(QPoint(0,0),size))); + mWindow->waitForFrameSync(); } @@ -103,8 +100,7 @@ void QWaylandXPixmapGLXContext::geometryChanged() size = QSize(1,1); } - while (mWindow->waitingForFrameSync()) - mGlxIntegration->waylandDisplay()->iterate(); + mWindow->waitForFrameSync(); delete mBuffer; //XFreePixmap deletes the glxPixmap as well -- cgit v0.12