From f6ba1f27b9790f56bda1e5831069e2dd7e2c96a2 Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Sun, 28 Sep 2003 06:31:00 +0000 Subject: 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. --- openbox/event.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'openbox/event.c') diff --git a/openbox/event.c b/openbox/event.c index 2df720b0..6c3d61bb 100644 --- a/openbox/event.c +++ b/openbox/event.c @@ -69,7 +69,7 @@ static void event_handle_client(ObClient *c, XEvent *e); static void event_handle_group(ObGroup *g, XEvent *e); static gboolean focus_delay_func(gpointer data); -static void focus_delay_client_dest(gpointer data); +static void focus_delay_client_dest(ObClient *client, gpointer data); static gboolean menu_hide_delay_func(gpointer data); @@ -157,7 +157,7 @@ void event_startup(gboolean reconfig) IceAddConnectionWatch(ice_watch, NULL); #endif - client_add_destructor(focus_delay_client_dest); + client_add_destructor(focus_delay_client_dest, NULL); } void event_shutdown(gboolean reconfig) @@ -1252,11 +1252,9 @@ static gboolean focus_delay_func(gpointer data) return FALSE; /* no repeat */ } -static void focus_delay_client_dest(gpointer data) +static void focus_delay_client_dest(ObClient *client, gpointer data) { - ObClient *c = data; - - ob_main_loop_timeout_remove_data(ob_main_loop, focus_delay_func, c); + ob_main_loop_timeout_remove_data(ob_main_loop, focus_delay_func, client); } void event_ignore_queued_enters() -- cgit v1.2.3