summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms
diff options
context:
space:
mode:
authorJørgen Lind <jorgen.lind@nokia.com>2011-04-07 11:57:03 (GMT)
committerJørgen Lind <jorgen.lind@nokia.com>2011-04-07 11:58:38 (GMT)
commit2149763b7293be2360beb3ec1fe9117c508eedd1 (patch)
tree971dba042d6b59b5f70755fc4a68a035c0523d62 /src/plugins/platforms
parent3a7a03f5ab0f927211050d2dcceb9440e2b0aeeb (diff)
downloadQt-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.cpp8
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