mirror of
https://invent.kde.org/network/falkon.git
synced 2024-11-13 10:32:11 +01:00
Fix crash when KWallet is not available.
Summary: Bug 398767 Currently, when the user clicks //remember password// when KWallet is disabled, **falkon** gets crashed. This patch fixes the crash by checking if `KWallet` object is created and only then it adds to the folder. The following functions are fixed: - addEntry - Update Entry - updateLastUsed - removeEntry - removeAll Reviewers: SGOrava, drosca Reviewed By: SGOrava, drosca Subscribers: drosca, falkon Tags: #falkon Differential Revision: https://phabricator.kde.org/D26872
This commit is contained in:
parent
90664879c5
commit
1cecd14fd0
|
@ -82,6 +82,10 @@ void KWalletPasswordBackend::addEntry(const PasswordEntry &entry)
|
||||||
{
|
{
|
||||||
initialize();
|
initialize();
|
||||||
|
|
||||||
|
if (!m_wallet) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
PasswordEntry stored = entry;
|
PasswordEntry stored = entry;
|
||||||
stored.id = QString("%1/%2").arg(entry.host, entry.username);
|
stored.id = QString("%1/%2").arg(entry.host, entry.username);
|
||||||
stored.updated = QDateTime::currentDateTime().toTime_t();
|
stored.updated = QDateTime::currentDateTime().toTime_t();
|
||||||
|
@ -94,6 +98,10 @@ bool KWalletPasswordBackend::updateEntry(const PasswordEntry &entry)
|
||||||
{
|
{
|
||||||
initialize();
|
initialize();
|
||||||
|
|
||||||
|
if (!m_wallet) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
m_wallet->removeEntry(entry.id.toString());
|
m_wallet->removeEntry(entry.id.toString());
|
||||||
m_wallet->writeEntry(entry.id.toString(), encodeEntry(entry));
|
m_wallet->writeEntry(entry.id.toString(), encodeEntry(entry));
|
||||||
|
|
||||||
|
@ -110,6 +118,10 @@ void KWalletPasswordBackend::updateLastUsed(PasswordEntry &entry)
|
||||||
{
|
{
|
||||||
initialize();
|
initialize();
|
||||||
|
|
||||||
|
if (!m_wallet) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
m_wallet->removeEntry(entry.id.toString());
|
m_wallet->removeEntry(entry.id.toString());
|
||||||
|
|
||||||
entry.updated = QDateTime::currentDateTime().toTime_t();
|
entry.updated = QDateTime::currentDateTime().toTime_t();
|
||||||
|
@ -127,6 +139,10 @@ void KWalletPasswordBackend::removeEntry(const PasswordEntry &entry)
|
||||||
{
|
{
|
||||||
initialize();
|
initialize();
|
||||||
|
|
||||||
|
if (!m_wallet) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
m_wallet->removeEntry(entry.id.toString());
|
m_wallet->removeEntry(entry.id.toString());
|
||||||
|
|
||||||
int index = m_allEntries.indexOf(entry);
|
int index = m_allEntries.indexOf(entry);
|
||||||
|
@ -140,6 +156,10 @@ void KWalletPasswordBackend::removeAll()
|
||||||
{
|
{
|
||||||
initialize();
|
initialize();
|
||||||
|
|
||||||
|
if (!m_wallet) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
m_allEntries.clear();
|
m_allEntries.clear();
|
||||||
|
|
||||||
m_wallet->removeFolder("Falkon");
|
m_wallet->removeFolder("Falkon");
|
||||||
|
|
Loading…
Reference in New Issue
Block a user