]> Nutra Git (v2) - gamesguru/feather.git/commitdiff
WindowManager: only setNewWallet if wallet is actually new
authortobtoht <tob@featherwallet.org>
Fri, 3 Mar 2023 22:15:06 +0000 (23:15 +0100)
committertobtoht <tob@featherwallet.org>
Fri, 3 Mar 2023 22:18:52 +0000 (23:18 +0100)
src/WindowManager.cpp
src/WindowManager.h
src/wizard/WalletWizard.cpp
src/wizard/WalletWizard.h

index 610e9ae812ae63ee8da73c17fcd9a62694b761d8..ebd3976b505857abb9b0f47a591db874616df7f9 100644 (file)
@@ -282,7 +282,7 @@ bool WindowManager::autoOpenWallet() {
 // ######################## WALLET CREATION ########################
 
 void WindowManager::tryCreateWallet(Seed seed, const QString &path, const QString &password, const QString &seedLanguage,
-                                    const QString &seedOffset, const QString &subaddressLookahead) {
+                                    const QString &seedOffset, const QString &subaddressLookahead, bool newWallet) {
     if(Utils::fileExists(path)) {
         auto err = QString("Failed to write wallet to path: \"%1\"; file already exists.").arg(path);
         this->handleWalletError(err);
@@ -309,7 +309,10 @@ void WindowManager::tryCreateWallet(Seed seed, const QString &path, const QStrin
 
     wallet->setCacheAttribute("feather.seed", seed.mnemonic.join(" "));
     wallet->setCacheAttribute("feather.seedoffset", seedOffset);
-    wallet->setNewWallet();
+
+    if (newWallet) {
+        wallet->setNewWallet();
+    }
 
     this->onWalletOpened(wallet);
 }
@@ -368,7 +371,6 @@ void WindowManager::onWalletCreated(Wallet *wallet) {
     // Currently only called when a wallet is created from device.
     auto state = wallet->status();
     if (state != Wallet::Status_Ok) {
-        wallet->setNewWallet();
         qDebug() << Q_FUNC_INFO << QString("Wallet open error: %1").arg(wallet->errorString());
         this->displayWalletErrorMessage(wallet->errorString());
         m_splashDialog->hide();
index d8dc074c4ba8c9253d84bf9359b3b790c67384b7..89c0a22102968945c97b06d0f0962ddb2477fd23 100644 (file)
@@ -55,7 +55,7 @@ private slots:
     void onChangeTheme(const QString &themeName);
 
 private:
-    void tryCreateWallet(Seed seed, const QString &path, const QString &password, const QString &seedLanguage, const QString &seedOffset, const QString &subaddressLookahead);
+    void tryCreateWallet(Seed seed, const QString &path, const QString &password, const QString &seedLanguage, const QString &seedOffset, const QString &subaddressLookahead, bool newWallet);
     void tryCreateWalletFromDevice(const QString &path, const QString &password, const QString &deviceName, int restoreHeight, const QString &subaddressLookahead);
     void tryCreateWalletFromKeys(const QString &path, const QString &password, const QString &address, const QString &viewkey, const QString &spendkey, quint64 restoreHeight, const QString &subaddressLookahead);
 
index 8d62dbe5bf373e9f525876345d958a18de2568e4..d876b597d0cb7f1bacd2763a42c48f6442488abd 100644 (file)
@@ -135,5 +135,7 @@ void WalletWizard::onCreateWallet() {
         m_wizardFields.seed.setRestoreHeight(m_wizardFields.restoreHeight);
     }
 
-    emit createWallet(m_wizardFields.seed, walletPath, m_wizardFields.password, m_wizardFields.seedLanguage, m_wizardFields.seedOffsetPassphrase, m_wizardFields.subaddressLookahead);
+    bool newWallet = m_wizardFields.mode == WizardMode::CreateWallet;
+
+    emit createWallet(m_wizardFields.seed, walletPath, m_wizardFields.password, m_wizardFields.seedLanguage, m_wizardFields.seedOffsetPassphrase, m_wizardFields.subaddressLookahead, newWallet);
 }
\ No newline at end of file
index 975cac87971ec93bd8af50be57f06a456c89391d..4cb2284c7b11a5406a6495053950adaec162eb74 100644 (file)
@@ -97,7 +97,7 @@ signals:
 
     void createWalletFromDevice(const QString &path, const QString &password, const QString &deviceName, int restoreHeight, const QString &subaddressLookahead);
     void createWalletFromKeys(const QString &path, const QString &password, const QString &address, const QString &viewkey, const QString &spendkey, quint64 restoreHeight, const QString subaddressLookahead = "");
-    void createWallet(Seed seed, const QString &path, const QString &password, const QString &seedLanguage, const QString &seedOffset = "", const QString &subaddressLookahead = "");
+    void createWallet(Seed seed, const QString &path, const QString &password, const QString &seedLanguage, const QString &seedOffset, const QString &subaddressLookahead, bool newWallet);
 
 private slots:
     void onCreateWallet();