A client_delete should behave differently depending on whether the

triggering event was unmap (with pending destroy) log destroy; we only
need to grab/ungrab the server lock, set WithdrawnState and
XRemoveFromSaveSet clients coming from an unmap event - doing so for
clients coming from destroy are already gone, hence we generate errors.
This commit is contained in:
okan
2013-10-25 19:46:16 +00:00
parent 6867821abe
commit 6e17b41f56
3 changed files with 12 additions and 10 deletions

View File

@@ -373,7 +373,7 @@ struct client_ctx *client_current(void);
void client_cycle(struct screen_ctx *, int);
void client_cycle_leave(struct screen_ctx *,
struct client_ctx *);
void client_delete(struct client_ctx *);
void client_delete(struct client_ctx *, int);
void client_draw_border(struct client_ctx *);
struct client_ctx *client_find(Window);
void client_freeze(struct client_ctx *);