use the ob_main_loop_timeout_remove_data to only remove one timer

This commit is contained in:
Dana Jansens 2003-09-03 21:18:19 +00:00
parent 792d3e7a70
commit f78b849af2

View file

@ -645,9 +645,11 @@ static void event_handle_client(ObClient *client, XEvent *e)
case OB_FRAME_CONTEXT_FRAME: case OB_FRAME_CONTEXT_FRAME:
/* XXX if doing a 'reconfigure' make sure you kill this timer, /* XXX if doing a 'reconfigure' make sure you kill this timer,
maybe all timers.. */ maybe all timers.. */
if (config_focus_delay) { if (config_focus_delay && client == focus_delay_client) {
ob_main_loop_timeout_remove_data(ob_main_loop,
focus_delay_func,
focus_delay_client);
focus_delay_client = NULL; focus_delay_client = NULL;
ob_main_loop_timeout_remove(ob_main_loop, focus_delay_func);
} }
default: default:
break; break;
@ -695,7 +697,7 @@ static void event_handle_client(ObClient *client, XEvent *e)
ob_main_loop_timeout_add(ob_main_loop, ob_main_loop_timeout_add(ob_main_loop,
config_focus_delay, config_focus_delay,
focus_delay_func, focus_delay_func,
NULL, NULL); client, NULL);
focus_delay_client = client; focus_delay_client = client;
} else } else
client_focus(client); client_focus(client);
@ -1176,7 +1178,8 @@ static void focus_delay_client_dest(gpointer data)
{ {
ObClient *c = data; ObClient *c = data;
if (c == focus_delay_client) { if (c == focus_delay_client) {
ob_main_loop_timeout_remove_data(ob_main_loop, focus_delay_func,
focus_delay_client);
focus_delay_client = NULL; focus_delay_client = NULL;
ob_main_loop_timeout_remove(ob_main_loop, focus_delay_func);
} }
} }