From: Jonas Ådahl Date: Fri, 13 Jan 2017 15:05:09 +0000 (+0800) Subject: egl/wayland: Cleanup private display connection when init fails X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=361796651c5abb21ff429466c061119dce8f33d5;p=mesa.git egl/wayland: Cleanup private display connection when init fails When failing to initializing the Wayland EGL driver, don't leak the display server connection if it was us who created it. Signed-off-by: Jonas Ådahl Cc: mesa-stable@lists.freedesktop.org Reviewed-by: Emil Velikov Reviewed-by: Daniel Stone --- diff --git a/src/egl/drivers/dri2/platform_wayland.c b/src/egl/drivers/dri2/platform_wayland.c index fd4812a4fee..2b50d8ec949 100644 --- a/src/egl/drivers/dri2/platform_wayland.c +++ b/src/egl/drivers/dri2/platform_wayland.c @@ -1283,6 +1283,8 @@ dri2_initialize_wayland_drm(_EGLDriver *drv, _EGLDisplay *disp) cleanup_registry: wl_registry_destroy(dri2_dpy->wl_registry); wl_event_queue_destroy(dri2_dpy->wl_queue); + if (disp->PlatformDisplay == NULL) + wl_display_disconnect(dri2_dpy->wl_dpy); cleanup_dpy: free(dri2_dpy); disp->DriverData = NULL; @@ -1921,6 +1923,8 @@ dri2_initialize_wayland_swrast(_EGLDriver *drv, _EGLDisplay *disp) cleanup_registry: wl_registry_destroy(dri2_dpy->wl_registry); wl_event_queue_destroy(dri2_dpy->wl_queue); + if (disp->PlatformDisplay == NULL) + wl_display_disconnect(dri2_dpy->wl_dpy); cleanup_dpy: free(dri2_dpy); disp->DriverData = NULL;