aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sway/desktop/layer_shell.c3
-rw-r--r--sway/input/seat.c1
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;