plugins/perl/perl-handlers.c

changeset 13191
6c98c6130701
parent 13017
d3bcadbf3094
child 13354
eeec75e1c290
equal deleted inserted replaced
13190:52425e8a1ec0 13191:6c98c6130701
422 destroy_timeout_handler(timeout_handlers->data); 422 destroy_timeout_handler(timeout_handlers->data);
423 } 423 }
424 424
425 void 425 void
426 gaim_perl_signal_connect(GaimPlugin *plugin, void *instance, 426 gaim_perl_signal_connect(GaimPlugin *plugin, void *instance,
427 const char *signal, SV *callback, SV *data) 427 const char *signal, SV *callback, SV *data,
428 int priority)
428 { 429 {
429 GaimPerlSignalHandler *handler; 430 GaimPerlSignalHandler *handler;
430 431
431 handler = g_new0(GaimPerlSignalHandler, 1); 432 handler = g_new0(GaimPerlSignalHandler, 1);
432 handler->plugin = plugin; 433 handler->plugin = plugin;
438 handler->data = (data != NULL && 439 handler->data = (data != NULL &&
439 data != &PL_sv_undef ? newSVsv(data) : NULL); 440 data != &PL_sv_undef ? newSVsv(data) : NULL);
440 441
441 signal_handlers = g_list_append(signal_handlers, handler); 442 signal_handlers = g_list_append(signal_handlers, handler);
442 443
443 gaim_signal_connect_vargs(instance, signal, plugin, 444 gaim_signal_connect_priority_vargs(instance, signal, plugin,
444 GAIM_CALLBACK(perl_signal_cb), handler); 445 GAIM_CALLBACK(perl_signal_cb),
446 handler, priority);
445 } 447 }
446 448
447 void 449 void
448 gaim_perl_signal_disconnect(GaimPlugin *plugin, void *instance, 450 gaim_perl_signal_disconnect(GaimPlugin *plugin, void *instance,
449 const char *signal) 451 const char *signal)

mercurial