aboutsummaryrefslogtreecommitdiff
path: root/backend
diff options
context:
space:
mode:
Diffstat (limited to 'backend')
-rw-r--r--backend/wayland/backend.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/backend/wayland/backend.c b/backend/wayland/backend.c
index 532935b8..bfc73e05 100644
--- a/backend/wayland/backend.c
+++ b/backend/wayland/backend.c
@@ -12,10 +12,15 @@
#include "backend/wayland.h"
#include "xdg-shell-unstable-v6-client-protocol.h"
-
static int dispatch_events(int fd, uint32_t mask, void *data) {
struct wlr_wl_backend *backend = data;
int count = 0;
+
+ if ((mask & WL_EVENT_HANGUP) || (mask & WL_EVENT_ERROR)) {
+ wl_display_terminate(backend->local_display);
+ return 0;
+ }
+
if (mask & WL_EVENT_READABLE) {
count = wl_display_dispatch(backend->remote_display);
}