wl_shell/compositor surface: do not check if it's in list before removing
This commit is contained in:
		
							parent
							
								
									5dae8e1be8
								
							
						
					
					
						commit
						d49edc8243
					
				|  | @ -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, | ||||
|  |  | |||
|  | @ -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, | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue