aboutsummaryrefslogtreecommitdiff
path: root/sway
diff options
context:
space:
mode:
authorKirill Primak <vyivel@posteo.net>2021-09-24 08:09:15 +0300
committerSimon Ser <contact@emersion.fr>2021-09-24 14:40:59 +0200
commitc11b5db4d6c1b9ce658405d92a23dd2993efca8e (patch)
tree82325a715f78c8a09c1b0f92f443c22daf377d2f /sway
parentb7b3ef6dcf904fce8ff072a88e505765a44a4ec6 (diff)
layer-shell: check `committed` bitmask
This avoids infinite configure-ack_configure-commit loop.
Diffstat (limited to 'sway')
-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) {
if (wlr_output == NULL) {
return;
}
+ if (layer_surface->current.committed == 0) {
+ // The layer surface state didn't change
+ return;
+ }
struct sway_output *output = wlr_output->data;
struct wlr_box old_extent = layer->extent;