Mercurial > pidgin
comparison plugins/perl/perl.c @ 9578:7cd7da72c872
[gaim-migrate @ 10421]
Fix a pretty good-sized problem that deryni pointed out in the Perl plugin.
Basically, if a script didn't have an unload function set, the data,
signals, timeouts, commands, etc. was remaining after the plugin was
unloaded. This should be fixed now, barring any bizarre bugs that result
from the simple change.
committer: Tailor Script <tailor@pidgin.im>
author | Christian Hammond <chipx86@chipx86.com> |
---|---|
date | Fri, 23 Jul 2004 00:12:55 +0000 |
parents | 294ae6548d4e |
children | f8e395a054e2 |
comparison
equal
deleted
inserted
replaced
9577:4c36ffbdbf8d | 9578:7cd7da72c872 |
---|---|
416 static gboolean | 416 static gboolean |
417 unload_perl_plugin(GaimPlugin *plugin) | 417 unload_perl_plugin(GaimPlugin *plugin) |
418 { | 418 { |
419 GaimPerlScript *gps = (GaimPerlScript *)plugin->info->extra_info; | 419 GaimPerlScript *gps = (GaimPerlScript *)plugin->info->extra_info; |
420 | 420 |
421 if (gps == NULL || gps->unload_sub == NULL) | 421 if (gps == NULL) |
422 return FALSE; | 422 return FALSE; |
423 | 423 |
424 gaim_debug(GAIM_DEBUG_INFO, "perl", "Unloading perl script\n"); | 424 gaim_debug(GAIM_DEBUG_INFO, "perl", "Unloading perl script\n"); |
425 | 425 |
426 if (gps->unload_sub != NULL) | |
426 { | 427 { |
427 dSP; | 428 dSP; |
428 ENTER; | 429 ENTER; |
429 SAVETMPS; | 430 SAVETMPS; |
430 PUSHMARK(sp); | 431 PUSHMARK(sp); |