--- a/libpurple/plugins/keyrings/gnomekeyring.c Sat Jan 28 05:13:24 2012 +0000 +++ b/libpurple/plugins/keyrings/gnomekeyring.c Sat Jan 28 05:43:02 2012 +0000 @@ -4,7 +4,6 @@ * * @todo * cleanup error handling and reporting - * refuse unloading when active (in internal keyring too) */ /* purple @@ -347,7 +346,11 @@ static gboolean gkp_unload(PurplePlugin *plugin) { + if (purple_keyring_get_inuse() == keyring_handler) + return FALSE; + gkp_uninit(); + return TRUE; }