mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-01 03:10:09 +01:00
egl/wayland: properly destroy wayland objects
the wl_registry and the wl_queue allocated weren't destroyed. CC: 10.5 <mesa-stable@lists.freedesktop.org> Reviewed-by: Dave Airlie <airlied@redhat.com> Reviewed-by: Daniel Stone <daniels@collabora.com> Signed-off-by: Axel Davy <axel.davy@ens.fr>
This commit is contained in:
parent
bfdae9149e
commit
6aaf09b93b
2 changed files with 6 additions and 1 deletions
|
|
@ -730,6 +730,8 @@ dri2_terminate(_EGLDriver *drv, _EGLDisplay *disp)
|
|||
#ifdef HAVE_WAYLAND_PLATFORM
|
||||
case _EGL_PLATFORM_WAYLAND:
|
||||
wl_drm_destroy(dri2_dpy->wl_drm);
|
||||
wl_registry_destroy(dri2_dpy->wl_registry);
|
||||
wl_event_queue_destroy(dri2_dpy->wl_queue);
|
||||
if (dri2_dpy->own_device) {
|
||||
wl_display_disconnect(dri2_dpy->wl_dpy);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1029,7 +1029,7 @@ dri2_initialize_wayland(_EGLDriver *drv, _EGLDisplay *disp)
|
|||
wl_registry_add_listener(dri2_dpy->wl_registry,
|
||||
®istry_listener, dri2_dpy);
|
||||
if (roundtrip(dri2_dpy) < 0 || dri2_dpy->wl_drm == NULL)
|
||||
goto cleanup_dpy;
|
||||
goto cleanup_registry;
|
||||
|
||||
if (roundtrip(dri2_dpy) < 0 || dri2_dpy->fd == -1)
|
||||
goto cleanup_drm;
|
||||
|
|
@ -1112,6 +1112,9 @@ dri2_initialize_wayland(_EGLDriver *drv, _EGLDisplay *disp)
|
|||
cleanup_drm:
|
||||
free(dri2_dpy->device_name);
|
||||
wl_drm_destroy(dri2_dpy->wl_drm);
|
||||
cleanup_registry:
|
||||
wl_registry_destroy(dri2_dpy->wl_registry);
|
||||
wl_event_queue_destroy(dri2_dpy->wl_queue);
|
||||
cleanup_dpy:
|
||||
free(dri2_dpy);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue