diff --git a/src/compositor.c b/src/compositor.c index 35a5605b0..f619f8277 100644 --- a/src/compositor.c +++ b/src/compositor.c @@ -1054,6 +1054,8 @@ weston_surface_unmap(struct weston_surface *surface) weston_surface_damage_below(surface); surface->output = NULL; wl_list_remove(&surface->layer_link); + wl_list_remove(&surface->link); + wl_list_init(&surface->link); wl_list_for_each(seat, &surface->compositor->seat_list, link) { if (seat->keyboard && seat->keyboard->focus == surface)