diff -r a479dca0f05b -r 51c1bce7f52f libpurple/plugins/keyrings/kwallet.cpp --- a/libpurple/plugins/keyrings/kwallet.cpp Thu Mar 21 22:21:50 2013 +0100 +++ b/libpurple/plugins/keyrings/kwallet.cpp Fri Mar 22 00:05:10 2013 +0100 @@ -199,11 +199,18 @@ KWalletPlugin::engine::~engine() { closing = true; + int abortedCount = 0; while (!isEmpty()) { request *req = dequeue(); req->abort(); delete req; + abortedCount++; + } + + if (abortedCount > 0) { + purple_debug_info("keyring-kwallet", "aborted requests: %d\n", + abortedCount); } delete wallet; @@ -242,11 +249,8 @@ connected = opened; if (!opened) { - while (!isEmpty()) { - request *req = dequeue(); - req->abort(); - delete req; - } + purple_debug_warning("keyring-kwallet", + "failed to open a wallet\n"); delete this; return; } @@ -378,8 +382,13 @@ "failed to read password, result was %d\n", result); abort(); } - else if (callback != NULL) + else if (callback != NULL) { + purple_debug_misc("keyring-kwallet", + "Got password for account %s (%s).\n", + purple_account_get_username(account), + purple_account_get_protocol_id(account)); callback(account, password.toUtf8().constData(), NULL, data); + } } void @@ -400,8 +409,14 @@ purple_debug_warning("keyring-kwallet", "failed to write password, result was %d\n", result); abort(); - } else if (callback != NULL) + } else if (callback != NULL) { + purple_debug_misc("keyring-kwallet", + "Password %s for account %s (%s).\n", + (noPassword ? "removed" : "saved"), + purple_account_get_username(account), + purple_account_get_protocol_id(account)); callback(account, NULL, data); + } } extern "C"