summaryrefslogtreecommitdiff
path: root/openbox/focus.c
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2003-09-28 06:31:00 +0000
committerDana Jansens <danakj@orodu.net>2003-09-28 06:31:00 +0000
commitf6ba1f27b9790f56bda1e5831069e2dd7e2c96a2 (patch)
treeeab63d53f7acd59f0e835b359468d2475aacd5a4 /openbox/focus.c
parent518f819cdb18ea68b5d1bf93cd3d44737ef27915 (diff)
halfway through client changes but...
should fix crashes irt actions in the action queue for clients that have been destroyed. now those actions are skipped or performed without a client as possible.
Diffstat (limited to 'openbox/focus.c')
-rw-r--r--openbox/focus.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/openbox/focus.c b/openbox/focus.c
index d13df1dd..3376d50a 100644
--- a/openbox/focus.c
+++ b/openbox/focus.c
@@ -42,10 +42,10 @@ ObClient *focus_cycle_target;
static ObIconPopup *focus_cycle_popup;
-static void focus_cycle_destructor(ObClient *c)
+static void focus_cycle_destructor(ObClient *client, gpointer data)
{
/* end cycling if the target disappears */
- if (focus_cycle_target == c)
+ if (focus_cycle_target == client)
focus_cycle(TRUE, TRUE, TRUE, TRUE, TRUE);
}
@@ -54,7 +54,7 @@ void focus_startup(gboolean reconfig)
focus_cycle_popup = icon_popup_new(TRUE);
if (!reconfig) {
- client_add_destructor((GDestroyNotify) focus_cycle_destructor);
+ client_add_destructor(focus_cycle_destructor, NULL);
/* start with nothing focused */
focus_set_client(NULL);
@@ -68,7 +68,7 @@ void focus_shutdown(gboolean reconfig)
icon_popup_free(focus_cycle_popup);
if (!reconfig) {
- client_remove_destructor((GDestroyNotify) focus_cycle_destructor);
+ client_remove_destructor(focus_cycle_destructor);
for (i = 0; i < screen_num_desktops; ++i)
g_list_free(focus_order[i]);