From 72a75b3a72ca79f0045b43b1ba11feda08a8de3b Mon Sep 17 00:00:00 2001 From: Vincent Vanlaer Date: Thu, 10 May 2018 01:44:17 +0200 Subject: Fix Xwayland cleanup Fixes #964 --- xwayland/xwayland.c | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'xwayland') diff --git a/xwayland/xwayland.c b/xwayland/xwayland.c index 22d5cdeb..51035f0e 100644 --- a/xwayland/xwayland.c +++ b/xwayland/xwayland.c @@ -133,6 +133,13 @@ static void xwayland_finish_server(struct wlr_xwayland *wlr_xwayland) { return; } + if (wlr_xwayland->x_fd_read_event[0]) { + wl_event_source_remove(wlr_xwayland->x_fd_read_event[0]); + wl_event_source_remove(wlr_xwayland->x_fd_read_event[1]); + + wlr_xwayland->x_fd_read_event[0] = wlr_xwayland->x_fd_read_event[1] = NULL; + } + if (wlr_xwayland->cursor != NULL) { free(wlr_xwayland->cursor); } @@ -162,6 +169,10 @@ static void xwayland_finish_server(struct wlr_xwayland *wlr_xwayland) { } static void xwayland_finish_display(struct wlr_xwayland *wlr_xwayland) { + if (!wlr_xwayland || wlr_xwayland->display == -1) { + return; + } + safe_close(wlr_xwayland->x_fd[0]); safe_close(wlr_xwayland->x_fd[1]); wlr_xwayland->x_fd[0] = wlr_xwayland->x_fd[1] = -1; -- cgit v1.2.3