mirror of
https://github.com/hyprwm/wlroots-hyprland.git
synced 2024-11-22 21:05:58 +01:00
use wl_list_for_each_safe() to unlink client surfaces
This commit is contained in:
parent
94d4b9249c
commit
f46befec7c
1 changed files with 4 additions and 7 deletions
|
@ -632,14 +632,11 @@ static struct zxdg_shell_v6_interface xdg_shell_impl = {
|
||||||
|
|
||||||
static void wlr_xdg_client_v6_destroy(struct wl_resource *resource) {
|
static void wlr_xdg_client_v6_destroy(struct wl_resource *resource) {
|
||||||
struct wlr_xdg_client_v6 *client = wl_resource_get_user_data(resource);
|
struct wlr_xdg_client_v6 *client = wl_resource_get_user_data(resource);
|
||||||
struct wl_list *list = &client->surfaces;
|
|
||||||
struct wl_list *link, *tmp;
|
|
||||||
|
|
||||||
for (link = list->next, tmp = link->next;
|
struct wlr_xdg_surface_v6 *surface, *tmp = NULL;
|
||||||
link != list;
|
wl_list_for_each_safe(surface, tmp, &client->surfaces, link) {
|
||||||
link = tmp, tmp = link->next) {
|
wl_list_remove(&surface->link);
|
||||||
wl_list_remove(link);
|
wl_list_init(&surface->link);
|
||||||
wl_list_init(link);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (client->ping_timer != NULL) {
|
if (client->ping_timer != NULL) {
|
||||||
|
|
Loading…
Reference in a new issue