URI: 
       tHave close_wallet hook take a wallet. - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit 93d05e8cfe9e419a316a8ac78b21a4112f964710
   DIR parent b8f2d9dfd486ddc653adc4235b3ccae454450c73
  HTML Author: Neil Booth <kyuupichan@gmail.com>
       Date:   Thu, 31 Dec 2015 10:31:49 +0900
       
       Have close_wallet hook take a wallet.
       
       Diffstat:
         M gui/qt/main_window.py               |       2 +-
         M plugins/ledger/ledger.py            |       6 ++----
         M plugins/trezor/plugin.py            |       4 ++--
         M plugins/trezor/qt_generic.py        |       3 ---
       
       4 files changed, 5 insertions(+), 10 deletions(-)
       ---
   DIR diff --git a/gui/qt/main_window.py b/gui/qt/main_window.py
       t@@ -244,7 +244,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
                    self.print_error('close_wallet', self.wallet.storage.path)
                    self.wallet.storage.put('accounts_expanded', self.accounts_expanded)
                    self.wallet.stop_threads()
       -        run_hook('close_wallet')
       +        run_hook('close_wallet', self.wallet)
        
            def load_wallet(self, wallet):
                self.wallet = wallet
   DIR diff --git a/plugins/ledger/ledger.py b/plugins/ledger/ledger.py
       t@@ -434,13 +434,11 @@ class LedgerPlugin(BasePlugin):
                return True
        
            @hook
       -    def close_wallet(self):
       -        pass
       +    def close_wallet(self, wallet):
       +        self.client = None
        
            @hook
            def installwizard_load_wallet(self, wallet, window):
       -        if type(wallet) != BTChipWallet:
       -            return
                self.load_wallet(wallet, window)
        
            @hook
   DIR diff --git a/plugins/trezor/plugin.py b/plugins/trezor/plugin.py
       t@@ -193,9 +193,9 @@ class TrezorCompatiblePlugin(BasePlugin):
                return self.get_client().atleast_version(major, minor, patch)
        
            @hook
       -    def close_wallet(self):
       -        self.print_error("clear session")
       +    def close_wallet(self, wallet):
                if self.client:
       +            self.print_error("clear session")
                    self.client.clear_session()
                    self.client.transport.close()
                    self.client = None
   DIR diff --git a/plugins/trezor/qt_generic.py b/plugins/trezor/qt_generic.py
       t@@ -124,9 +124,6 @@ class QtPlugin(TrezorPlugin):
        
            @hook
            def installwizard_load_wallet(self, wallet, window):
       -        if type(wallet) != self.wallet_class:
       -            return
       -        wallet.plugin = self
                self.load_wallet(wallet, window)
        
            @hook