Clear quick unlock secrets when database tab is closed

This commit is contained in:
Janek Bevendorff 2022-03-30 00:03:35 +02:00 committed by Jonathan White
parent 7eb7172635
commit 5c45cf2d76
3 changed files with 10 additions and 1 deletions

View File

@ -529,8 +529,16 @@ bool DatabaseOpenWidget::isOnQuickUnlockScreen()
return m_ui->centralStack->currentIndex() == 1;
}
/**
* Reset installed quick unlock secrets.
*
* It's safe to call this method even if quick unlock is unavailable.
*/
void DatabaseOpenWidget::resetQuickUnlock()
{
if (!isQuickUnlockAvailable()) {
return;
}
#if defined(Q_CC_MSVC)
getWindowsHello()->reset(m_filename);
#elif defined(Q_OS_MACOS)

View File

@ -45,6 +45,7 @@ public:
void clearForms();
void enterKey(const QString& pw, const QString& keyFile);
QSharedPointer<Database> database();
void resetQuickUnlock();
signals:
void dialogFinished(bool accepted);
@ -56,7 +57,6 @@ protected:
void setUserInteractionLock(bool state);
// Quick Unlock helper functions
bool isOnQuickUnlockScreen();
void resetQuickUnlock();
const QScopedPointer<Ui::DatabaseOpenWidget> m_ui;
QSharedPointer<Database> m_db;

View File

@ -1569,6 +1569,7 @@ void DatabaseWidget::closeEvent(QCloseEvent* event)
event->ignore();
return;
}
m_databaseOpenWidget->resetQuickUnlock();
event->accept();
}