electrum

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

commit 5b84cbe9fbfb6570a5b5062262a02ccf3a851e6c
parent 45a55e258f36144a9315db9a6e45145de4f7f80f
Author: ThomasV <thomasv@gitorious>
Date:   Fri, 12 Sep 2014 19:58:59 +0200

close_wallet

Diffstat:
Mgui/qt/__init__.py | 2+-
Mgui/qt/main_window.py | 11++++++-----
Mplugins/trezor.py | 5+++++
3 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/gui/qt/__init__.py b/gui/qt/__init__.py @@ -220,6 +220,6 @@ class ElectrumGui: event = QtCore.QEvent(QtCore.QEvent.Clipboard) self.app.sendEvent(self.app.clipboard(), event) - wallet.stop_threads() + w.close_wallet() diff --git a/gui/qt/main_window.py b/gui/qt/main_window.py @@ -200,10 +200,12 @@ class ElectrumWindow(QMainWindow): else: self.account_selector.hide() + def close_wallet(self): + self.wallet.stop_threads() + run_hook('close_wallet') def load_wallet(self, wallet): import electrum - self.wallet = wallet self.update_wallet_format() # address used to create a dummy transaction and estimate transaction fee @@ -257,12 +259,11 @@ class ElectrumWindow(QMainWindow): self.show_message("file not found "+ filename) return - self.wallet.stop_threads() - - # create new wallet + # close current wallet + self.close_wallet() + # load new wallet wallet = Wallet(storage) wallet.start_threads(self.network) - self.load_wallet(wallet) diff --git a/plugins/trezor.py b/plugins/trezor.py @@ -80,6 +80,11 @@ class Plugin(BasePlugin): return BasePlugin.enable(self) @hook + def close_wallet(self): + print_error("trezor: clear session") + self.wallet.client.clear_session() + + @hook def load_wallet(self, wallet): self.wallet = wallet if not self.wallet.check_proper_device():