diff --git a/examples/compositor/wl_compositor.c b/examples/compositor/wl_compositor.c index 034a7ff0..0bab345d 100644 --- a/examples/compositor/wl_compositor.c +++ b/examples/compositor/wl_compositor.c @@ -7,17 +7,7 @@ #include "compositor.h" static void destroy_surface_listener(struct wl_listener *listener, void *data) { - struct wlr_surface *surface = wl_resource_get_user_data(data); - struct wl_compositor_state *state = surface->compositor_data; - assert(data == surface->resource); - - struct wl_resource *res = NULL; - wl_list_for_each(res, &state->surfaces, link) { - if (res == surface->resource) { - wl_list_remove(wl_resource_get_link(res)); - break; - } - } + wl_list_remove(wl_resource_get_link(data)); } static void wl_compositor_create_surface(struct wl_client *client, diff --git a/types/wlr_wl_shell.c b/types/wlr_wl_shell.c index d84775d9..154e54f9 100644 --- a/types/wlr_wl_shell.c +++ b/types/wlr_wl_shell.c @@ -98,15 +98,7 @@ static struct wl_shell_interface wl_shell_impl = { }; static void wl_shell_destroy(struct wl_resource *resource) { - struct wlr_wl_shell *wl_shell = wl_resource_get_user_data(resource); - struct wl_resource *_resource = NULL; - wl_resource_for_each(_resource, &wl_shell->wl_resources) { - if (_resource == resource) { - struct wl_list *link = wl_resource_get_link(_resource); - wl_list_remove(link); - break; - } - } + wl_list_remove(wl_resource_get_link(resource)); } static void wl_shell_bind(struct wl_client *wl_client, void *_wl_shell,