diff options
-rw-r--r-- | sway/desktop/layer_shell.c | 3 | ||||
-rw-r--r-- | sway/input/seat.c | 1 |
2 files changed, 3 insertions, 1 deletions
diff --git a/sway/desktop/layer_shell.c b/sway/desktop/layer_shell.c index 60270a42..c881919d 100644 --- a/sway/desktop/layer_shell.c +++ b/sway/desktop/layer_shell.c | |||
@@ -200,7 +200,8 @@ void arrange_layers(struct sway_output *output) { | |||
200 | for (size_t i = 0; i < nlayers; ++i) { | 200 | for (size_t i = 0; i < nlayers; ++i) { |
201 | wl_list_for_each_reverse(layer, | 201 | wl_list_for_each_reverse(layer, |
202 | &output->layers[layers_above_shell[i]], link) { | 202 | &output->layers[layers_above_shell[i]], link) { |
203 | if (layer->layer_surface->current.keyboard_interactive) { | 203 | if (layer->layer_surface->current.keyboard_interactive && |
204 | layer->layer_surface->mapped) { | ||
204 | topmost = layer; | 205 | topmost = layer; |
205 | break; | 206 | break; |
206 | } | 207 | } |
diff --git a/sway/input/seat.c b/sway/input/seat.c index 4da8e937..b2243fe3 100644 --- a/sway/input/seat.c +++ b/sway/input/seat.c | |||
@@ -1095,6 +1095,7 @@ void seat_set_focus_layer(struct sway_seat *seat, | |||
1095 | } else if (!layer || seat->focused_layer == layer) { | 1095 | } else if (!layer || seat->focused_layer == layer) { |
1096 | return; | 1096 | return; |
1097 | } | 1097 | } |
1098 | assert(layer->mapped); | ||
1098 | seat_set_focus_surface(seat, layer->surface, true); | 1099 | seat_set_focus_surface(seat, layer->surface, true); |
1099 | if (layer->layer >= ZWLR_LAYER_SHELL_V1_LAYER_TOP) { | 1100 | if (layer->layer >= ZWLR_LAYER_SHELL_V1_LAYER_TOP) { |
1100 | seat->focused_layer = layer; | 1101 | seat->focused_layer = layer; |