diff options
author | Dominique Martinet <asmadeus@codewreck.org> | 2020-03-29 10:09:29 +0200 |
---|---|---|
committer | Simon Ser <contact@emersion.fr> | 2020-04-02 23:27:57 +0200 |
commit | 284dcb2dc747f783f767121fe01fa7202da30e4e (patch) | |
tree | d507142166c81df21289de3e2ae524da9c51b731 /swaynag/swaynag.c | |
parent | Reference wev instead of xev (diff) | |
download | sway-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/swaynag.c')
-rw-r--r-- | swaynag/swaynag.c | 6 |
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) { |