diff --git a/types/data_device/wlr_drag.c b/types/data_device/wlr_drag.c index 558e9f22..fdfabdcf 100644 --- a/types/data_device/wlr_drag.c +++ b/types/data_device/wlr_drag.c @@ -96,8 +96,8 @@ static void drag_icon_set_mapped(struct wlr_drag_icon *icon, bool mapped) { icon->mapped = true; wlr_signal_emit_safe(&icon->events.map, icon); } else if (!mapped && icon->mapped) { - icon->mapped = false; wlr_signal_emit_safe(&icon->events.unmap, icon); + icon->mapped = false; } } diff --git a/xwayland/xwm.c b/xwayland/xwm.c index 9ca2c721..fc99490b 100644 --- a/xwayland/xwm.c +++ b/xwayland/xwm.c @@ -793,8 +793,8 @@ static void xwm_map_shell_surface(struct wlr_xwm *xwm, static void xsurface_unmap(struct wlr_xwayland_surface *surface) { if (surface->mapped) { - surface->mapped = false; wlr_signal_emit_safe(&surface->events.unmap, surface); + surface->mapped = false; xwm_set_net_client_list(surface->xwm); }