summaryrefslogtreecommitdiff
path: root/src/plugins/platforms/qwayland-xcomposite-egl
diff options
context:
space:
mode:
authorSamuel Rødal <samuel.rodal@digia.com>2013-04-19 08:59:28 +0200
committerSamuel Rødal <samuel.rodal@digia.com>2013-04-23 14:18:41 +0200
commitbbc20f045dbce61fc77dec2af895f348c3a3501e (patch)
treee8e55f293a82b619c3b8dc98534484fae2d0cd40 /src/plugins/platforms/qwayland-xcomposite-egl
parent755fac09a8656545c272528e531ba4732154ae3c (diff)
downloadqtwayland-bbc20f045dbce61fc77dec2af895f348c3a3501e.tar.gz
Fixed client being blocked in xcomposite integrations.
There's no need to wait for a sync until a frame has been rendered. As it was the client ended up waiting for a sync that never came. Change-Id: I41828d76ae62f1fa13f15bc050a16dd8e384fff4 Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
Diffstat (limited to 'src/plugins/platforms/qwayland-xcomposite-egl')
-rw-r--r--src/plugins/platforms/qwayland-xcomposite-egl/qwaylandxcompositeeglwindow.cpp23
-rw-r--r--src/plugins/platforms/qwayland-xcomposite-egl/qwaylandxcompositeeglwindow.h6
2 files changed, 0 insertions, 29 deletions
diff --git a/src/plugins/platforms/qwayland-xcomposite-egl/qwaylandxcompositeeglwindow.cpp b/src/plugins/platforms/qwayland-xcomposite-egl/qwaylandxcompositeeglwindow.cpp
index c7053b51..f1768991 100644
--- a/src/plugins/platforms/qwayland-xcomposite-egl/qwaylandxcompositeeglwindow.cpp
+++ b/src/plugins/platforms/qwayland-xcomposite-egl/qwaylandxcompositeeglwindow.cpp
@@ -66,7 +66,6 @@ QWaylandXCompositeEGLWindow::QWaylandXCompositeEGLWindow(QWindow *window, QWayla
, m_xWindow(0)
, m_config(q_configFromGLFormat(glxIntegration->eglDisplay(), window->format(), true, EGL_WINDOW_BIT | EGL_PIXMAP_BIT))
, m_surface(0)
- , m_waitingForSync(false)
{
}
@@ -137,14 +136,6 @@ void QWaylandXCompositeEGLWindow::createEglSurface()
(uint32_t)m_xWindow,
size);
attach(m_buffer, 0, 0);
-
- m_waitingForSync = true;
- struct wl_callback *callback = wl_display_sync(m_glxIntegration->waylandDisplay()->wl_display());
- wl_callback_add_listener(callback,&m_callback_listener,&m_waitingForSync);
-
- m_glxIntegration->waylandDisplay()->flushRequests();
- while (m_waitingForSync)
- m_glxIntegration->waylandDisplay()->blockingReadEvents();
}
void QWaylandXCompositeEGLWindow::requestActivateWindow()
@@ -155,17 +146,3 @@ void QWaylandXCompositeEGLWindow::requestActivateWindow()
QWaylandWindow::requestActivateWindow();
}
-
-const struct wl_callback_listener QWaylandXCompositeEGLWindow::m_callback_listener = {
- QWaylandXCompositeEGLWindow::done
-};
-
-void QWaylandXCompositeEGLWindow::done(void *data,
- struct wl_callback *callback,
- uint32_t time)
-{
- Q_UNUSED(time);
- bool *waitingForSync = static_cast<bool *>(data);
- *waitingForSync=false;
- wl_callback_destroy(callback);
-}
diff --git a/src/plugins/platforms/qwayland-xcomposite-egl/qwaylandxcompositeeglwindow.h b/src/plugins/platforms/qwayland-xcomposite-egl/qwaylandxcompositeeglwindow.h
index 895ac28f..98f0ed73 100644
--- a/src/plugins/platforms/qwayland-xcomposite-egl/qwaylandxcompositeeglwindow.h
+++ b/src/plugins/platforms/qwayland-xcomposite-egl/qwaylandxcompositeeglwindow.h
@@ -71,12 +71,6 @@ private:
Window m_xWindow;
EGLConfig m_config;
EGLSurface m_surface;
-
- bool m_waitingForSync;
- static const struct wl_callback_listener m_callback_listener;
- static void done(void *data,
- struct wl_callback *wl_callback,
- uint32_t time);
};
QT_END_NAMESPACE