pidgin: 43a9f069: Unregister commands registered by a perl...
sadrul at pidgin.im
sadrul at pidgin.im
Sat Oct 24 13:50:42 EDT 2009
-----------------------------------------------------------------
Revision: 43a9f0696967997615d88bfb9022e007dd973321
Ancestor: dd9f40f3139be5d2a0aababd7d892cb5be3cd3d2
Author: sadrul at pidgin.im
Date: 2009-10-24T17:46:30
Branch: im.pidgin.pidgin
URL: http://d.pidgin.im/viewmtn/revision/info/43a9f0696967997615d88bfb9022e007dd973321
Modified files:
libpurple/plugins/perl/perl-handlers.c
ChangeLog:
Unregister commands registered by a perl-plugin when unloading it.
A perl plugin may not unregister a command, and that can cause a crash.
So the perl plugin loader will take care of unregistering the commands in
case the plugin itself leaves them behind.
-------------- next part --------------
============================================================
--- libpurple/plugins/perl/perl-handlers.c 9ce4aa0be282b7b90a41358a796c051e76de0ee7
+++ libpurple/plugins/perl/perl-handlers.c 2011d190d936b5e90a132e189b1b80db06cc2c37
@@ -649,6 +649,7 @@ destroy_cmd_handler(PurplePerlCmdHandler
static void
destroy_cmd_handler(PurplePerlCmdHandler *handler)
{
+ purple_cmd_unregister(handler->id);
cmd_handlers = g_slist_remove(cmd_handlers, handler);
if (handler->callback != NULL)
@@ -705,7 +706,6 @@ purple_perl_cmd_unregister(PurpleCmdId i
return;
}
- purple_cmd_unregister(id);
destroy_cmd_handler(handler);
}
More information about the Commits
mailing list