plugins/perl/perl.c

changeset 11318
13fa1d5134f3
parent 11290
136722ebf145
child 11842
114c297fae75
equal deleted inserted replaced
11317:d2b5c786aac3 11318:13fa1d5134f3
402 402
403 PERL_SET_CONTEXT(my_perl); 403 PERL_SET_CONTEXT(my_perl);
404 execute_perl("Gaim::PerlLoader::load_n_eval", 2, atmp); 404 execute_perl("Gaim::PerlLoader::load_n_eval", 2, atmp);
405 405
406 { 406 {
407 dSP;
407 PERL_SET_CONTEXT(my_perl); 408 PERL_SET_CONTEXT(my_perl);
408 dSP; 409 SPAGAIN;
409 ENTER; 410 ENTER;
410 SAVETMPS; 411 SAVETMPS;
411 PUSHMARK(sp); 412 PUSHMARK(sp);
412 XPUSHs(sv_2mortal(gaim_perl_bless_object(plugin, "Gaim::Plugin"))); 413 XPUSHs(sv_2mortal(gaim_perl_bless_object(plugin, "Gaim::Plugin")));
413 PUTBACK; 414 PUTBACK;
432 } 433 }
433 434
434 static void 435 static void
435 destroy_package(const char *package) 436 destroy_package(const char *package)
436 { 437 {
437 PERL_SET_CONTEXT(my_perl);
438 dSP; 438 dSP;
439 PERL_SET_CONTEXT(my_perl);
440 SPAGAIN;
439 441
440 ENTER; 442 ENTER;
441 SAVETMPS; 443 SAVETMPS;
442 444
443 PUSHMARK(SP); 445 PUSHMARK(SP);
464 466
465 gaim_debug(GAIM_DEBUG_INFO, "perl", "Unloading perl script\n"); 467 gaim_debug(GAIM_DEBUG_INFO, "perl", "Unloading perl script\n");
466 468
467 if (gps->unload_sub != NULL) 469 if (gps->unload_sub != NULL)
468 { 470 {
469 PERL_SET_CONTEXT(my_perl);
470 dSP; 471 dSP;
472 PERL_SET_CONTEXT(my_perl);
473 SPAGAIN;
471 ENTER; 474 ENTER;
472 SAVETMPS; 475 SAVETMPS;
473 PUSHMARK(sp); 476 PUSHMARK(sp);
474 XPUSHs(sv_2mortal(gaim_perl_bless_object(plugin, "Gaim::Plugin"))); 477 XPUSHs(sv_2mortal(gaim_perl_bless_object(plugin, "Gaim::Plugin")));
475 PUTBACK; 478 PUTBACK;

mercurial