aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Kirill Primak <vyivel@posteo.net>2021-09-24 08:09:15 +0300
committerLibravatar Simon Ser <contact@emersion.fr>2021-09-24 14:40:59 +0200
commitc11b5db4d6c1b9ce658405d92a23dd2993efca8e (patch)
tree82325a715f78c8a09c1b0f92f443c22daf377d2f
parentlayer-shell: chase wlr layer surface refactor (diff)
downloadsway-c11b5db4d6c1b9ce658405d92a23dd2993efca8e.tar.gz
sway-c11b5db4d6c1b9ce658405d92a23dd2993efca8e.tar.zst
sway-c11b5db4d6c1b9ce658405d92a23dd2993efca8e.zip
layer-shell: check `committed` bitmask
This avoids infinite configure-ack_configure-commit loop.
-rw-r--r--sway/desktop/layer_shell.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sway/desktop/layer_shell.c b/sway/desktop/layer_shell.c
index 67369fb3..2b4b2027 100644
--- a/sway/desktop/layer_shell.c
+++ b/sway/desktop/layer_shell.c
@@ -297,6 +297,10 @@ static void handle_surface_commit(struct wl_listener *listener, void *data) {
297 if (wlr_output == NULL) { 297 if (wlr_output == NULL) {
298 return; 298 return;
299 } 299 }
300 if (layer_surface->current.committed == 0) {
301 // The layer surface state didn't change
302 return;
303 }
300 304
301 struct sway_output *output = wlr_output->data; 305 struct sway_output *output = wlr_output->data;
302 struct wlr_box old_extent = layer->extent; 306 struct wlr_box old_extent = layer->extent;