diff --git a/include/types/wlr_surface.h b/include/types/wlr_surface.h index 1de8ea0e..bc30d2c9 100644 --- a/include/types/wlr_surface.h +++ b/include/types/wlr_surface.h @@ -6,8 +6,7 @@ struct wlr_renderer; /** - * Create a new surface resource with the provided new ID. If `resource_list` - * is non-NULL, adds the surface's resource to the list. + * Create a new surface resource with the provided new ID. */ struct wlr_surface *surface_create(struct wl_client *client, uint32_t version, uint32_t id, struct wlr_renderer *renderer); diff --git a/types/wlr_compositor.c b/types/wlr_compositor.c index ac2f0144..22f0cd32 100644 --- a/types/wlr_compositor.c +++ b/types/wlr_compositor.c @@ -121,7 +121,7 @@ static void compositor_create_surface(struct wl_client *client, struct wlr_compositor *compositor = compositor_from_resource(resource); struct wlr_surface *surface = surface_create(client, - wl_resource_get_version(resource), id, compositor->renderer, NULL); + wl_resource_get_version(resource), id, compositor->renderer); if (surface == NULL) { wl_client_post_no_memory(client); return; diff --git a/types/wlr_surface.c b/types/wlr_surface.c index 3e58e9d5..78879550 100644 --- a/types/wlr_surface.c +++ b/types/wlr_surface.c @@ -676,8 +676,6 @@ static void surface_handle_resource_destroy(struct wl_resource *resource) { wlr_signal_emit_safe(&surface->events.destroy, surface); - wl_list_remove(wl_resource_get_link(surface->resource)); - struct wlr_surface_state *cached, *cached_tmp; wl_list_for_each_safe(cached, cached_tmp, &surface->cached, cached_state_link) { surface_state_destroy_cached(cached); @@ -704,8 +702,7 @@ static void surface_handle_renderer_destroy(struct wl_listener *listener, } struct wlr_surface *surface_create(struct wl_client *client, - uint32_t version, uint32_t id, struct wlr_renderer *renderer, - struct wl_list *resource_list) { + uint32_t version, uint32_t id, struct wlr_renderer *renderer) { assert(version <= SURFACE_VERSION); struct wlr_surface *surface = calloc(1, sizeof(struct wlr_surface)); @@ -746,13 +743,6 @@ struct wlr_surface *surface_create(struct wl_client *client, wl_signal_add(&renderer->events.destroy, &surface->renderer_destroy); surface->renderer_destroy.notify = surface_handle_renderer_destroy; - struct wl_list *resource_link = wl_resource_get_link(surface->resource); - if (resource_list != NULL) { - wl_list_insert(resource_list, resource_link); - } else { - wl_list_init(resource_link); - } - return surface; }