rem: if (!wwin || wwin->client_win!=event->xunmap.window)
add: if (!wwin)
context: handleUnmapNotify(XEvent *event){    WWindow *wwin;    XEvent ev;    #ifdef DEBUG    puts("got unmap");#endif    wwin = wWindowFor(event->xunmap.window);    if (!wwin || wwin->client_win!=event->xunmap.window)	return;        if (!wwin->flags.mapped 	&& wwin->frame->workspace==wwin->screen_ptr->current_workspace	&& !wwin->flags.miniaturized && !wwin->flags.hidden)	return;    if (wwin->flags.ignore_next_unmap) {	return;    }    XGrabServer(dpy);    XUnmapWindow(dpy, wwin->frame->core->window);    wwin->flags.mapped = 0;    XSync(dpy, 0);    /* check if the window was destroyed */    if (XCheckTypedWindowEvent(dpy, wwin->client_win, DestroyNotify,&ev)) {	DispatchEvent(&ev);    } else {	Bool reparented = False;	if (XCheckTypedWindowEvent(dpy, wwin->client_win, ReparentNotify, &ev))	    reparented = True;	/* withdraw window */	wwin->flags.mapped = 0;	if (!reparented)	    wClientSetState(wwin, WithdrawnState, None);		/* if the window was reparented, do not reparent it back to the	 * root window */	wUnmanageWindow(wwin, !reparented, False);    }    XUngrabServer(dpy);}