diff options
| author | Dana Jansens <danakj@orodu.net> | 2003-09-27 05:19:15 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2003-09-27 05:19:15 +0000 |
| commit | 8aee387193fd73bbe4a8019bc7e31d5d0e18e83d (patch) | |
| tree | 173b448e04b5bd56b588897f76a7cda8b5727c93 /openbox/client.c | |
| parent | 598bf575c83a7ebc1be9029d70ea4197ced39d99 (diff) | |
unfocus before unlinking the client from the transient tree
Diffstat (limited to 'openbox/client.c')
| -rw-r--r-- | openbox/client.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/openbox/client.c b/openbox/client.c index c7d03a82..05f9d095 100644 --- a/openbox/client.c +++ b/openbox/client.c @@ -401,6 +401,15 @@ void client_unmanage(ObClient *self) influence */ screen_update_areas(); + if (focus_client == self) { + XEvent e; + + /* focus the last focused window on the desktop, and ignore enter + events from the unmap so it doesnt mess with the focus */ + while (XCheckTypedEvent(ob_display, EnterNotify, &e)); + client_unfocus(self); + } + /* tell our parent(s) that we're gone */ if (self->transient_for == OB_TRAN_GROUP) { /* transient of group */ GSList *it; @@ -427,15 +436,6 @@ void client_unmanage(ObClient *self) func(self); } - if (focus_client == self) { - XEvent e; - - /* focus the last focused window on the desktop, and ignore enter - events from the unmap so it doesnt mess with the focus */ - while (XCheckTypedEvent(ob_display, EnterNotify, &e)); - client_unfocus(self); - } - /* remove from its group */ if (self->group) { group_remove(self->group, self); |
