tfix #2257 - electrum - Electrum Bitcoin wallet HTML git clone https://git.parazyd.org/electrum DIR Log DIR Files DIR Refs DIR Submodules --- DIR commit 0f8387dbab58702379f7db0d51b7e1610bf102fe DIR parent ed42faa2e62eb2a315eeb791f8d7ffbdbeb53d47 HTML Author: ThomasV <thomasv@electrum.org> Date: Wed, 8 Mar 2017 11:56:01 +0100 fix #2257 Diffstat: M gui/qt/__init__.py | 15 +++++---------- M lib/daemon.py | 7 +++---- 2 files changed, 8 insertions(+), 14 deletions(-) --- DIR diff --git a/gui/qt/__init__.py b/gui/qt/__init__.py t@@ -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) DIR diff --git a/lib/daemon.py b/lib/daemon.py t@@ -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() t@@ -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] t@@ -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