summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2007-04-23 23:11:33 +0000
committerDana Jansens <danakj@orodu.net>2007-04-23 23:11:33 +0000
commitb4eecc51b55509a0b9c8b5f8cdd536f6b668af58 (patch)
tree4a014c3538f3ef5e48d464cc6119965d6d3a0c81
parentc97c6342c2df75314052b2d105195ac7806824e1 (diff)
focus_client was becoming invalid if the focused client was unmanaged.
-rw-r--r--openbox/client.c1
-rw-r--r--openbox/focus.c2
2 files changed, 2 insertions, 1 deletions
diff --git a/openbox/client.c b/openbox/client.c
index 5471bedd..c184c891 100644
--- a/openbox/client.c
+++ b/openbox/client.c
@@ -525,7 +525,6 @@ void client_unmanage(ObClient *self)
event_ignore_queued_enters();
}
-
keyboard_grab_for_client(self, FALSE);
mouse_grab_for_client(self, FALSE);
diff --git a/openbox/focus.c b/openbox/focus.c
index 4c663c3f..788e1683 100644
--- a/openbox/focus.c
+++ b/openbox/focus.c
@@ -763,6 +763,8 @@ void focus_order_add_new(ObClient *c)
void focus_order_remove(ObClient *c)
{
focus_order = g_list_remove(focus_order, c);
+ if (c == focus_client)
+ focus_client = NULL;
}
void focus_order_to_top(ObClient *c)