summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2007-04-26 06:14:09 +0000
committerDana Jansens <danakj@orodu.net>2007-04-26 06:14:09 +0000
commit1c4c2b92a0be1b1358f34898ef47f74e0b21ae6a (patch)
tree43a516f3a5b007d7f52e30f018ecbdd2970a072d
parentb673823d0b6dfdde1031dfed4f42544921f3c984 (diff)
focus_client is already nulled from the fallback, and use client_focused for niceness in the future
-rw-r--r--openbox/client.c10
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);