Mercurial > pidgin
view libpurple/plugins/test.pl @ 24865:fbfbebc9197e
Fix two related bugs:
1. When renaming a group and only changing capitalization, Pidgin
prompted you "You are about to merge "Some Group" and "some group"
2. When renaming a group and only changing capitalization, libpurple
got into an infinite loop because the dest and source groups were
the same, and it tried to add buddies to itself until itself was
empty. This resulted in increasing memory and 100% CPU utilization
until the process was killed.
Did we recently change purple_find_group() to be case insensitive or something?
| author | Mark Doliner <mark@kingant.net> |
|---|---|
| date | Mon, 22 Dec 2008 22:01:34 +0000 |
| parents | c9dc220e0301 |
| children |
line wrap: on
line source
use Purple; %PLUGIN_INFO = ( perl_api_version => 2, name => 'Test Perl Plugin', version => '1.0', summary => 'Provides as a test base for the perl plugin.', description => 'Provides as a test base for the perl plugin.', author => 'Etan Reisner <deryni\@pidgin.im>', url => 'http://pidgin.im', load => "plugin_load" ); sub plugin_init { return %PLUGIN_INFO; } sub account_status_cb { my ($account, $old, $new, $data) = @_; Purple::Debug::info("perl test plugin", "In account_status_cb\n"); Purple::Debug::info("perl test plugin", "Account " . $account->get_username() . " changed status.\n"); Purple::Debug::info("perl test plugin", $data . "\n"); } sub plugin_load { my $plugin = shift; Purple::Debug::info("perl test plugin", "plugin_load\n"); Purple::Debug::info("perl test plugin", "Listing accounts.\n"); foreach $account (Purple::Accounts::get_all()) { Purple::Debug::info("perl test plugin", $account->get_username() . "\n"); } Purple::Signal::connect(Purple::Accounts::get_handle(), "account-status-changed", $plugin, \&account_status_cb, "test"); }
