electrum

Electrum Bitcoin wallet
git clone https://git.parazyd.org/electrum
Log | Files | Refs | Submodules

commit 0f8387dbab58702379f7db0d51b7e1610bf102fe
parent ed42faa2e62eb2a315eeb791f8d7ffbdbeb53d47
Author: ThomasV <thomasv@electrum.org>
Date:   Wed,  8 Mar 2017 11:56:01 +0100

fix #2257

Diffstat:
Mgui/qt/__init__.py | 15+++++----------
Mlib/daemon.py | 7+++----
2 files changed, 8 insertions(+), 14 deletions(-)

diff --git a/gui/qt/__init__.py b/gui/qt/__init__.py @@ -154,18 +154,13 @@ class ElectrumGui: w.bring_to_top() break else: - wallet = self.daemon.get_wallet(path) + wallet = self.daemon.load_wallet(path, None) if not wallet: storage = WalletStorage(path) - if not storage.file_exists() or storage.is_encrypted(): - wizard = InstallWizard(self.config, self.app, self.plugins, storage) - wallet = wizard.run_and_get_wallet() - if not wallet: - return - else: - wallet = Wallet(storage) - wallet.start_threads(self.daemon.network) - self.daemon.add_wallet(wallet) + wizard = InstallWizard(self.config, self.app, self.plugins, storage) + wallet = wizard.run_and_get_wallet() + if not wallet: + return w = self.create_window_for_wallet(wallet) if uri: w.pay_to_URI(uri) diff --git a/lib/daemon.py b/lib/daemon.py @@ -153,7 +153,7 @@ class Daemon(DaemonThread): response = "Daemon already running" elif sub == 'load_wallet': path = config.get_wallet_path() - self.load_wallet(path, lambda: config.get('password')) + self.load_wallet(path, config.get('password')) response = True elif sub == 'close_wallet': path = config.get_wallet_path() @@ -198,7 +198,7 @@ class Daemon(DaemonThread): response = "Error: Electrum is running in daemon mode. Please stop the daemon first." return response - def load_wallet(self, path, password_getter): + def load_wallet(self, path, password): # wizard will be launched if we return if path in self.wallets: wallet = self.wallets[path] @@ -207,9 +207,8 @@ class Daemon(DaemonThread): if not storage.file_exists(): return if storage.is_encrypted(): - password = password_getter() if not password: - raise UserCancelled() + return storage.decrypt(password) if storage.requires_split(): return