diff --git a/xwayland/xwm.c b/xwayland/xwm.c index 6850f56b..7827295e 100644 --- a/xwayland/xwm.c +++ b/xwayland/xwm.c @@ -578,8 +578,10 @@ static void handle_unmap_notify(struct wlr_xwm *xwm, } xsurface->surface = NULL; - xsurface->mapped = false; - wl_signal_emit(&xsurface->events.unmap_notify, xsurface); + if (xsurface->mapped) { + xsurface->mapped = false; + wl_signal_emit(&xsurface->events.unmap_notify, xsurface); + } } static void handle_property_notify(struct wlr_xwm *xwm,