From 3e6576b0ee8f62aa78add5e4ada444f52d6df7ea Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Mon, 16 Mar 2020 15:30:24 -0400 Subject: [PATCH] Remove "ever_been_mapped" from cg_wayland_view --- xwayland.c | 1 - xwayland.h | 15 --------------- 2 files changed, 16 deletions(-) diff --git a/xwayland.c b/xwayland.c index cfc33f9..cef4724 100644 --- a/xwayland.c +++ b/xwayland.c @@ -150,7 +150,6 @@ handle_xwayland_surface_map(struct wl_listener *listener, void *data) xwayland_view->commit.notify = handle_xwayland_surface_commit; wl_signal_add(&xwayland_view->xwayland_surface->surface->events.commit, &xwayland_view->commit); - xwayland_view->ever_been_mapped = true; view_map(view, xwayland_view->xwayland_surface->surface); view_damage_whole(view); diff --git a/xwayland.h b/xwayland.h index 4cfd4b0..d257f57 100644 --- a/xwayland.h +++ b/xwayland.h @@ -9,21 +9,6 @@ struct cg_xwayland_view { struct cg_view view; struct wlr_xwayland_surface *xwayland_surface; - - /* Some applications that aren't yet Wayland-native or - otherwise "special" (e.g. Firefox Nightly and Google - Chrome/Chromium) spawn an XWayland surface upon startup - that is almost immediately closed again. This makes Cage - think there are no views left, which results in it - exiting. However, after this initial (unmapped) surface, - the "real" application surface is opened. This leads to - these applications' startup sequences being interrupted by - Cage exiting. Hence, to work around this issue, Cage checks - whether an XWayland surface has ever been mapped and exits - only if 1) the XWayland surface has ever been mapped and 2) - this was the last surface Cage manages. */ - bool ever_been_mapped; - struct wl_listener destroy; struct wl_listener unmap; struct wl_listener map;