mirror of
https://github.com/swaywm/sway.git
synced 2026-04-26 06:46:26 -04:00
Ensure that seat->focused_layer is cleared on unmap
The current seat may have changed between the last focus change and this unmap, so we need to scan through all seats to find our layer.
This commit is contained in:
parent
1a8b9fda8a
commit
97121343a1
1 changed files with 5 additions and 3 deletions
|
|
@ -301,9 +301,11 @@ static void unmap(struct sway_layer_surface *sway_layer) {
|
|||
output_damage_surface(output, sway_layer->geo.x, sway_layer->geo.y,
|
||||
sway_layer->layer_surface->surface, true);
|
||||
|
||||
struct sway_seat *seat = input_manager_current_seat();
|
||||
if (seat->focused_layer == sway_layer->layer_surface) {
|
||||
seat_set_focus_layer(seat, NULL);
|
||||
struct sway_seat *seat;
|
||||
wl_list_for_each(seat, &server.input->seats, link) {
|
||||
if (seat->focused_layer == sway_layer->layer_surface) {
|
||||
seat_set_focus_layer(seat, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
cursor_rebase_all();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue