Mesa (master): wayland: Don't leak wl_drm global when unbinding display

Kristian Høgsberg krh at kemper.freedesktop.org
Tue Oct 22 22:03:28 UTC 2013


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

Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira at intel.com>
Date:   Wed Oct 16 15:04:03 2013 +0300

wayland: Don't leak wl_drm global when unbinding display

---

 src/egl/wayland/wayland-drm/wayland-drm.c |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/egl/wayland/wayland-drm/wayland-drm.c b/src/egl/wayland/wayland-drm/wayland-drm.c
index 06bd18c..2f5acb2 100644
--- a/src/egl/wayland/wayland-drm/wayland-drm.c
+++ b/src/egl/wayland/wayland-drm/wayland-drm.c
@@ -41,6 +41,7 @@
 
 struct wl_drm {
 	struct wl_display *display;
+	struct wl_global *wl_drm_global;
 
 	void *user_data;
 	char *device_name;
@@ -275,7 +276,9 @@ wayland_drm_init(struct wl_display *display, char *device_name,
 
         drm->buffer_interface.destroy = buffer_destroy;
 
-	wl_global_create(display, &wl_drm_interface, 2, drm, bind_drm);
+	drm->wl_drm_global =
+		wl_global_create(display, &wl_drm_interface, 2,
+				 drm, bind_drm);
 
 	return drm;
 }
@@ -285,7 +288,7 @@ wayland_drm_uninit(struct wl_drm *drm)
 {
 	free(drm->device_name);
 
-	/* FIXME: need wl_display_del_{object,global} */
+	wl_global_destroy(drm->wl_drm_global);
 
 	free(drm);
 }




More information about the mesa-commit mailing list