From: Pekka Paalanen Date: Mon, 2 Jan 2012 13:31:01 +0000 (+0200) Subject: compositor: add wlsc_input_device_fini() X-Git-Tag: 0.85.0~124^2~6 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=07753fbe9ce83ce39e17358dcd57698f18fa2609;p=platform%2Fupstream%2Fweston.git compositor: add wlsc_input_device_fini() Add a function for destroying all objects allocated in wlsc_input_device_init(). This patch depends on "server: add wl_input_device_fini()" commit in the Wayland core. Compositor backends could now call wlsc_input_device_fini() to fix some memory leaks. Signed-off-by: Pekka Paalanen --- diff --git a/compositor/compositor.c b/compositor/compositor.c index b993c1e..c3211e5 100644 --- a/compositor/compositor.c +++ b/compositor/compositor.c @@ -1677,6 +1677,18 @@ wlsc_input_device_init(struct wlsc_input_device *device, device->selection_data_source = NULL; } +WL_EXPORT void +wlsc_input_device_fini(struct wlsc_input_device *device) +{ + wl_list_remove(&device->link); + /* The global object is destroyed at wl_display_destroy() time. */ + + if (device->sprite) + destroy_surface(&device->sprite->surface.resource); + + wl_input_device_fini(&device->input_device); +} + static void bind_output(struct wl_client *client, void *data, uint32_t version, uint32_t id) diff --git a/compositor/compositor.h b/compositor/compositor.h index fa47489..e289054 100644 --- a/compositor/compositor.h +++ b/compositor/compositor.h @@ -408,6 +408,9 @@ wlsc_input_device_init(struct wlsc_input_device *device, struct wlsc_compositor *ec); void +wlsc_input_device_fini(struct wlsc_input_device *device); + +void wlsc_switcher_init(struct wlsc_compositor *compositor); enum {