diff options
| author | Dana Jansens <danakj@orodu.net> | 2003-09-28 06:31:00 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2003-09-28 06:31:00 +0000 |
| commit | f6ba1f27b9790f56bda1e5831069e2dd7e2c96a2 (patch) | |
| tree | eab63d53f7acd59f0e835b359468d2475aacd5a4 /openbox/focus.c | |
| parent | 518f819cdb18ea68b5d1bf93cd3d44737ef27915 (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.c | 8 |
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]); |
