--- a/libpurple/signals.c Sun Aug 02 05:04:41 2009 +0000 +++ b/libpurple/signals.c Sun Aug 02 05:34:11 2009 +0000 @@ -363,8 +363,8 @@ { g_free(handler_data); - signal_data->handlers = g_list_remove(signal_data->handlers, - handler_data); + signal_data->handlers = g_list_delete_link(signal_data->handlers, + l); signal_data->handler_count--; found = TRUE; @@ -398,8 +398,8 @@ g_free(handler_data); signal_data->handler_count--; - signal_data->handlers = g_list_remove(signal_data->handlers, - handler_data); + signal_data->handlers = g_list_delete_link(signal_data->handlers, + l); } } }