From 58061af959d309265409cc5054fb96429fb4b8e4 Mon Sep 17 00:00:00 2001 From: Amir Pakdel Date: Tue, 12 May 2015 15:12:17 -0400 Subject: [PATCH 1/2] Bug #218 Do not accept faulty files as Key File. Moreover, do not clear keys unless we have a key to add. --- src/gui/ChangeMasterKeyWidget.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/gui/ChangeMasterKeyWidget.cpp b/src/gui/ChangeMasterKeyWidget.cpp index e0dd06fdc..ee0c8b106 100644 --- a/src/gui/ChangeMasterKeyWidget.cpp +++ b/src/gui/ChangeMasterKeyWidget.cpp @@ -96,7 +96,7 @@ QLabel* ChangeMasterKeyWidget::headlineLabel() void ChangeMasterKeyWidget::generateKey() { - m_key.clear(); + bool cleared = false; if (m_ui->passwordGroup->isChecked()) { if (m_ui->enterPasswordEdit->text() == m_ui->repeatPasswordEdit->text()) { @@ -107,6 +107,8 @@ void ChangeMasterKeyWidget::generateKey() return; } } + m_key.clear(); + cleared = true; m_key.addKey(PasswordKey(m_ui->enterPasswordEdit->text())); } else { @@ -120,8 +122,12 @@ void ChangeMasterKeyWidget::generateKey() FileKey fileKey; QString errorMsg; if (!fileKey.load(m_ui->keyFileCombo->currentText(), &errorMsg)) { - // TODO: error handling + MessageBox::critical(this, tr("Failed to set key file"), + tr("Failed to set %1 as the Key file:\n%2") + .arg(m_ui->keyFileCombo->currentText(), errorMsg)); + return; } + if (!cleared) m_key.clear(); m_key.addKey(fileKey); } From c9d007fcdf8fb81336f1667d76e964516c40707b Mon Sep 17 00:00:00 2001 From: Amir Pakdel Date: Tue, 12 May 2015 16:31:14 -0400 Subject: [PATCH 2/2] Always clearing ChangeMasterKeyWidget.m_key --- src/gui/ChangeMasterKeyWidget.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/gui/ChangeMasterKeyWidget.cpp b/src/gui/ChangeMasterKeyWidget.cpp index ee0c8b106..3e346bc10 100644 --- a/src/gui/ChangeMasterKeyWidget.cpp +++ b/src/gui/ChangeMasterKeyWidget.cpp @@ -96,7 +96,7 @@ QLabel* ChangeMasterKeyWidget::headlineLabel() void ChangeMasterKeyWidget::generateKey() { - bool cleared = false; + m_key.clear(); if (m_ui->passwordGroup->isChecked()) { if (m_ui->enterPasswordEdit->text() == m_ui->repeatPasswordEdit->text()) { @@ -107,8 +107,6 @@ void ChangeMasterKeyWidget::generateKey() return; } } - m_key.clear(); - cleared = true; m_key.addKey(PasswordKey(m_ui->enterPasswordEdit->text())); } else { @@ -127,7 +125,6 @@ void ChangeMasterKeyWidget::generateKey() .arg(m_ui->keyFileCombo->currentText(), errorMsg)); return; } - if (!cleared) m_key.clear(); m_key.addKey(fileKey); }