diff options
author | Jørgen Lind <jorgen.lind@nokia.com> | 2011-04-07 11:57:03 (GMT) |
---|---|---|
committer | Jørgen Lind <jorgen.lind@nokia.com> | 2011-04-07 11:58:38 (GMT) |
commit | 2149763b7293be2360beb3ec1fe9117c508eedd1 (patch) | |
tree | 971dba042d6b59b5f70755fc4a68a035c0523d62 /src/plugins/platforms | |
parent | 3a7a03f5ab0f927211050d2dcceb9440e2b0aeeb (diff) | |
download | Qt-2149763b7293be2360beb3ec1fe9117c508eedd1.zip Qt-2149763b7293be2360beb3ec1fe9117c508eedd1.tar.gz Qt-2149763b7293be2360beb3ec1fe9117c508eedd1.tar.bz2 |
Wayland: Fix xpixmap_glx readback after multi threading
Diffstat (limited to 'src/plugins/platforms')
-rw-r--r-- | src/plugins/platforms/wayland/gl_integration/xpixmap_glx/qwaylandxpixmapglxcontext.cpp | 8 |
1 files 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 |