diff --git a/src/win.c b/src/win.c index fe9a8bb..e8e2a3a 100644 --- a/src/win.c +++ b/src/win.c @@ -1623,11 +1623,17 @@ void map_win(session_t *ps, win *w) { log_debug("Mapping (%#010x \"%s\")", w->id, w->name); + assert(w->state != WSTATE_DESTROYING); if (w->state != WSTATE_UNMAPPED && w->state != WSTATE_UNMAPPING) { log_warn("Mapping an already mapped window"); return; } + if (w->state == WSTATE_UNMAPPING) { + win_skip_fading(ps, &w); + assert(w); + } + // We stopped processing window size change when we were unmapped, refresh the // size of the window xcb_get_geometry_cookie_t gcookie = xcb_get_geometry(ps->c, w->id);