summaryrefslogtreecommitdiff
path: root/openbox
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2003-09-27 05:19:15 +0000
committerDana Jansens <danakj@orodu.net>2003-09-27 05:19:15 +0000
commit8aee387193fd73bbe4a8019bc7e31d5d0e18e83d (patch)
tree173b448e04b5bd56b588897f76a7cda8b5727c93 /openbox
parent598bf575c83a7ebc1be9029d70ea4197ced39d99 (diff)
unfocus before unlinking the client from the transient tree
Diffstat (limited to 'openbox')
-rw-r--r--openbox/client.c18
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);