diff options
author | Simon Ser <contact@emersion.fr> | 2021-07-08 13:16:11 +0200 |
---|---|---|
committer | Simon Ser <contact@emersion.fr> | 2021-07-26 16:58:28 +0200 |
commit | a71bbdd3220540b56848f10739ccb2226e2b8f97 (patch) | |
tree | 58ef4d23ff073a2fcfa164e3588ab1d841e1aabe /swaybar/bar.c | |
parent | Fix wl_pointer.frame not sent on touch emulation (diff) | |
download | sway-a71bbdd3220540b56848f10739ccb2226e2b8f97.tar.gz sway-a71bbdd3220540b56848f10739ccb2226e2b8f97.tar.zst sway-a71bbdd3220540b56848f10739ccb2226e2b8f97.zip |
swaybar: exit cleanly when disconnected from IPC
Diffstat (limited to 'swaybar/bar.c')
-rw-r--r-- | swaybar/bar.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/swaybar/bar.c b/swaybar/bar.c index 74c1924f..2b11065f 100644 --- a/swaybar/bar.c +++ b/swaybar/bar.c | |||
@@ -468,6 +468,13 @@ static void display_in(int fd, short mask, void *data) { | |||
468 | 468 | ||
469 | static void ipc_in(int fd, short mask, void *data) { | 469 | static void ipc_in(int fd, short mask, void *data) { |
470 | struct swaybar *bar = data; | 470 | struct swaybar *bar = data; |
471 | if (mask & (POLLHUP | POLLERR)) { | ||
472 | if (mask & POLLERR) { | ||
473 | sway_log(SWAY_ERROR, "IPC poll error"); | ||
474 | } | ||
475 | bar->running = false; | ||
476 | return; | ||
477 | } | ||
471 | if (handle_ipc_readable(bar)) { | 478 | if (handle_ipc_readable(bar)) { |
472 | set_bar_dirty(bar); | 479 | set_bar_dirty(bar); |
473 | } | 480 | } |