diff options
author | Kirill Primak <vyivel@posteo.net> | 2021-09-24 08:09:15 +0300 |
---|---|---|
committer | Simon Ser <contact@emersion.fr> | 2021-09-24 14:40:59 +0200 |
commit | c11b5db4d6c1b9ce658405d92a23dd2993efca8e (patch) | |
tree | 82325a715f78c8a09c1b0f92f443c22daf377d2f /sway | |
parent | b7b3ef6dcf904fce8ff072a88e505765a44a4ec6 (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.c | 4 |
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; |