Mesa (master): egl/wayland: Don't block on EGL_DEFAULT_DISPAY under wayland

Kristian Høgsberg krh at kemper.freedesktop.org
Tue Feb 26 18:41:31 UTC 2013


Module: Mesa
Branch: master
Commit: 112ccfab44eb3e23a516209c3be8b2f0107adb47
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=112ccfab44eb3e23a516209c3be8b2f0107adb47

Author: Kristian Høgsberg <krh at bitplanet.net>
Date:   Tue Feb 26 12:49:40 2013 -0500

egl/wayland: Don't block on EGL_DEFAULT_DISPAY under wayland

Normally the application will own the main event queue and be responsible
for moving events.  In case of EGL_DEFAULT_DISPLAY, EGL opens the display
and has to own the main queue so it can move the events itself.
Call wl_display_dispatch_pending() to take ownership.

---

 src/egl/drivers/dri2/platform_wayland.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/src/egl/drivers/dri2/platform_wayland.c b/src/egl/drivers/dri2/platform_wayland.c
index 99d8729..6e702ab 100644
--- a/src/egl/drivers/dri2/platform_wayland.c
+++ b/src/egl/drivers/dri2/platform_wayland.c
@@ -679,6 +679,10 @@ dri2_initialize_wayland(_EGLDriver *drv, _EGLDisplay *disp)
    }
 
    dri2_dpy->wl_queue = wl_display_create_queue(dri2_dpy->wl_dpy);
+
+   if (dri2_dpy->own_device)
+      wl_display_dispatch_pending(dri2_dpy->wl_dpy);
+
    dri2_dpy->wl_registry = wl_display_get_registry(dri2_dpy->wl_dpy);
    wl_proxy_set_queue((struct wl_proxy *) dri2_dpy->wl_registry,
                       dri2_dpy->wl_queue);




More information about the mesa-commit mailing list