aboutsummaryrefslogtreecommitdiffstats
path: root/swaynag
diff options
context:
space:
mode:
authorLibravatar Dominique Martinet <asmadeus@codewreck.org>2020-03-29 10:09:29 +0200
committerLibravatar Simon Ser <contact@emersion.fr>2020-04-02 23:27:57 +0200
commit284dcb2dc747f783f767121fe01fa7202da30e4e (patch)
treed507142166c81df21289de3e2ae524da9c51b731 /swaynag
parentReference wev instead of xev (diff)
downloadsway-284dcb2dc747f783f767121fe01fa7202da30e4e.tar.gz
sway-284dcb2dc747f783f767121fe01fa7202da30e4e.tar.zst
sway-284dcb2dc747f783f767121fe01fa7202da30e4e.zip
swaynag: exit on wl_display_roundtrip error
fixes loop when sway closes the socket in the middle of querying outputs, see #5138.
Diffstat (limited to 'swaynag')
-rw-r--r--swaynag/swaynag.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/swaynag/swaynag.c b/swaynag/swaynag.c
index 06700e47..4e692b14 100644
--- a/swaynag/swaynag.c
+++ b/swaynag/swaynag.c
@@ -444,7 +444,11 @@ void swaynag_setup(struct swaynag *swaynag) {
444 assert(swaynag->compositor && swaynag->layer_shell && swaynag->shm); 444 assert(swaynag->compositor && swaynag->layer_shell && swaynag->shm);
445 445
446 while (swaynag->querying_outputs > 0) { 446 while (swaynag->querying_outputs > 0) {
447 wl_display_roundtrip(swaynag->display); 447 if (wl_display_roundtrip(swaynag->display) < 0) {
448 sway_log(SWAY_ERROR, "Error during outputs init.");
449 swaynag_destroy(swaynag);
450 exit(EXIT_FAILURE);
451 }
448 } 452 }
449 453
450 if (!swaynag->output && swaynag->type->output) { 454 if (!swaynag->output && swaynag->type->output) {