--- a/src/signals.c Thu Apr 07 14:41:18 2005 +0000 +++ b/src/signals.c Thu Apr 07 14:55:02 2005 +0000 @@ -512,7 +512,6 @@ GaimInstanceData *instance_data; GaimSignalData *signal_data; GaimSignalHandlerData *handler_data; - void *ret_val = NULL; GList *l, *l_next; va_list tmp; @@ -536,6 +535,8 @@ for (l = signal_data->handlers; l != NULL; l = l_next) { + void *ret_val = NULL; + l_next = l->next; handler_data = (GaimSignalHandlerData *)l->data; @@ -552,9 +553,12 @@ handler_data->data, &ret_val); } va_end(tmp); + + if (ret_val != NULL) + return ret_val; } - return ret_val; + return NULL; } void