diff --git a/src/plugins/KDEFrameworksIntegration/kwalletpasswordbackend.cpp b/src/plugins/KDEFrameworksIntegration/kwalletpasswordbackend.cpp index c9d0cb3d8..6b430af9c 100644 --- a/src/plugins/KDEFrameworksIntegration/kwalletpasswordbackend.cpp +++ b/src/plugins/KDEFrameworksIntegration/kwalletpasswordbackend.cpp @@ -82,6 +82,10 @@ void KWalletPasswordBackend::addEntry(const PasswordEntry &entry) { initialize(); + if (!m_wallet) { + return; + } + PasswordEntry stored = entry; stored.id = QString("%1/%2").arg(entry.host, entry.username); stored.updated = QDateTime::currentDateTime().toTime_t(); @@ -94,6 +98,10 @@ bool KWalletPasswordBackend::updateEntry(const PasswordEntry &entry) { initialize(); + if (!m_wallet) { + return false; + } + m_wallet->removeEntry(entry.id.toString()); m_wallet->writeEntry(entry.id.toString(), encodeEntry(entry)); @@ -110,6 +118,10 @@ void KWalletPasswordBackend::updateLastUsed(PasswordEntry &entry) { initialize(); + if (!m_wallet) { + return; + } + m_wallet->removeEntry(entry.id.toString()); entry.updated = QDateTime::currentDateTime().toTime_t(); @@ -127,6 +139,10 @@ void KWalletPasswordBackend::removeEntry(const PasswordEntry &entry) { initialize(); + if (!m_wallet) { + return; + } + m_wallet->removeEntry(entry.id.toString()); int index = m_allEntries.indexOf(entry); @@ -140,6 +156,10 @@ void KWalletPasswordBackend::removeAll() { initialize(); + if (!m_wallet) { + return; + } + m_allEntries.clear(); m_wallet->removeFolder("Falkon");