src/plugins.c

changeset 1250
46ac03911ab0
parent 1236
59d129db22b4
child 1252
94fbface2d84
equal deleted inserted replaced
1249:13c75027d6ad 1250:46ac03911ab0
196 struct gaim_callback *g; 196 struct gaim_callback *g;
197 while (c) { 197 while (c) {
198 g = (struct gaim_callback *)c->data; 198 g = (struct gaim_callback *)c->data;
199 if (g->handle == plug->handle) { 199 if (g->handle == plug->handle) {
200 callbacks = g_list_remove(callbacks, c->data); 200 callbacks = g_list_remove(callbacks, c->data);
201 sprintf(debug_buff, "Removing callback, %d remain\n", 201 debug_printf("Removing callback, %d remain\n", g_list_length(callbacks));
202 g_list_length(callbacks));
203 debug_print(debug_buff);
204 c = callbacks; 202 c = callbacks;
205 if (c == NULL) { 203 if (c == NULL) {
206 break; 204 break;
207 } 205 }
208 } else { 206 } else {
417 } 415 }
418 416
419 if (!p) 417 if (!p)
420 return; 418 return;
421 419
422 sprintf(debug_buff, "Unloading %s\n", g_module_name(p->handle)); 420 debug_printf("Unloading %s\n", g_module_name(p->handle));
423 debug_print(debug_buff); 421
424 422 debug_printf("%d callbacks to search\n", g_list_length(callbacks));
425 sprintf(debug_buff, "%d callbacks to search\n", g_list_length(callbacks));
426 debug_print(debug_buff);
427 423
428 while (c) { 424 while (c) {
429 g = (struct gaim_callback *)c->data; 425 g = (struct gaim_callback *)c->data;
430 if (g->handle == p->handle) { 426 if (g->handle == p->handle) {
431 callbacks = g_list_remove(callbacks, c->data); 427 callbacks = g_list_remove(callbacks, c->data);
432 g_free(g); 428 g_free(g);
433 sprintf(debug_buff, "Removing callback, %d remain\n", 429 debug_printf("Removing callback, %d remain\n", g_list_length(callbacks));
434 g_list_length(callbacks));
435 debug_print(debug_buff);
436 c = callbacks; 430 c = callbacks;
437 if (c == NULL) { 431 if (c == NULL) {
438 break; 432 break;
439 } 433 }
440 } else { 434 } else {
505 call->event = which; 499 call->event = which;
506 call->function = func; 500 call->function = func;
507 call->data = data; 501 call->data = data;
508 502
509 callbacks = g_list_append(callbacks, call); 503 callbacks = g_list_append(callbacks, call);
510 sprintf(debug_buff, "Adding callback %d\n", g_list_length(callbacks)); 504 debug_printf("Adding callback %d\n", g_list_length(callbacks));
511 debug_print(debug_buff);
512 } 505 }
513 506
514 void gaim_signal_disconnect(GModule *handle, enum gaim_event which, void *func) { 507 void gaim_signal_disconnect(GModule *handle, enum gaim_event which, void *func) {
515 GList *c = callbacks; 508 GList *c = callbacks;
516 struct gaim_callback *g = NULL; 509 struct gaim_callback *g = NULL;
724 (*function)((int)arg1, g->data); 717 (*function)((int)arg1, g->data);
725 } 718 }
726 break; 719 break;
727 720
728 default: 721 default:
729 sprintf(debug_buff, "unknown event %d\n", event); 722 debug_printf("unknown event %d\n", event);
730 debug_print(debug_buff);
731 break; 723 break;
732 } 724 }
733 } 725 }
734 c = c->next; 726 c = c->next;
735 } 727 }
810 break; 802 break;
811 default: 803 default:
812 break; 804 break;
813 } 805 }
814 tmp = event_name(event); 806 tmp = event_name(event);
815 g_snprintf(debug_buff, sizeof debug_buff, "%s: %s\n", tmp, buf); 807 debug_printf("%s: %s\n", tmp, buf);
816 debug_print(debug_buff);
817 return perl_event(tmp, buf); 808 return perl_event(tmp, buf);
818 #else 809 #else
819 return 0; 810 return 0;
820 #endif 811 #endif
821 } 812 }

mercurial