From: Kristian Høgsberg Date: Tue, 26 Feb 2013 17:49:40 +0000 (-0500) Subject: egl/wayland: Don't block on EGL_DEFAULT_DISPAY under wayland X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=112ccfab44eb3e23a516209c3be8b2f0107adb47;p=mesa.git 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. --- diff --git a/src/egl/drivers/dri2/platform_wayland.c b/src/egl/drivers/dri2/platform_wayland.c index 99d8729cfc1..6e702abe895 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);