diff options
| author | Dana Jansens <danakj@orodu.net> | 2007-04-26 06:14:09 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2007-04-26 06:14:09 +0000 |
| commit | 1c4c2b92a0be1b1358f34898ef47f74e0b21ae6a (patch) | |
| tree | 43a516f3a5b007d7f52e30f018ecbdd2970a072d | |
| parent | b673823d0b6dfdde1031dfed4f42544921f3c984 (diff) | |
focus_client is already nulled from the fallback, and use client_focused for niceness in the future
| -rw-r--r-- | openbox/client.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/openbox/client.c b/openbox/client.c index 7fcc0668..13e239d3 100644 --- a/openbox/client.c +++ b/openbox/client.c @@ -493,7 +493,7 @@ void client_unmanage(ObClient *self) /* update the focus lists */ focus_order_remove(self); - if (self == focus_client) { + if (client_focused(self)) { /* we have to fall back here because we might not get a focus out. 1. we need to xselectinput off the window before we unmap it because otherwise we end up getting unmapnotifies we don't want and they @@ -503,11 +503,13 @@ void client_unmanage(ObClient *self) get the focusout event. 3. we can't handle focusin events on the root window because they come from all screens, so the focus change gets lost + + if this ever gets removed in the future MAKE SURE to replace it + with: + /- don't leave an invalid focus_client -/ + focus_client = NULL; */ focus_fallback(FALSE); - - /* don't leave an invalid focus_client */ - focus_client = NULL; } client_list = g_list_remove(client_list, self); |
