diff --git a/src/qt/walletview.cpp b/src/qt/walletview.cpp index 7954a66995d..be96e3baa11 100644 --- a/src/qt/walletview.cpp +++ b/src/qt/walletview.cpp @@ -242,9 +242,11 @@ void WalletView::unlockWallet() { // Unlock wallet when requested by wallet model if (walletModel->getEncryptionStatus() == WalletModel::Locked) { - auto dlg = new AskPassphraseDialog(AskPassphraseDialog::Unlock, this); - dlg->setModel(walletModel); - GUIUtil::ShowModalDialogAndDeleteOnClose(dlg); + AskPassphraseDialog dlg(AskPassphraseDialog::Unlock, this); + dlg.setModel(walletModel); + // A modal dialog must be synchronous here as expected + // in the WalletModel::requestUnlock() function. + dlg.exec(); } }