URI: 
       tfollow-up 65eae139af5d827ccafc85c2a9e5d0088411ed01 - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit d8a9c9720a6a21928e8b8852bef02d356e664093
   DIR parent 65eae139af5d827ccafc85c2a9e5d0088411ed01
  HTML Author: SomberNight <somber.night@protonmail.com>
       Date:   Wed, 10 Jan 2018 18:39:25 +0100
       
       follow-up 65eae139af5d827ccafc85c2a9e5d0088411ed01
       
       Diffstat:
         M lib/transaction.py                  |       8 ++++++--
         M plugins/ledger/ledger.py            |      16 +++++++++++-----
         M plugins/ledger/qt.py                |       1 -
       
       3 files changed, 17 insertions(+), 8 deletions(-)
       ---
   DIR diff --git a/lib/transaction.py b/lib/transaction.py
       t@@ -682,8 +682,12 @@ class Transaction:
                return value_field + witness
        
            @classmethod
       -    def is_segwit_input(self, txin):
       -        return txin['type'] in ['p2wpkh', 'p2wpkh-p2sh', 'p2wsh', 'p2wsh-p2sh']
       +    def is_segwit_input(cls, txin):
       +        return cls.is_segwit_inputtype(txin['type'])
       +
       +    @classmethod
       +    def is_segwit_inputtype(cls, txin_type):
       +        return txin_type in ('p2wpkh', 'p2wpkh-p2sh', 'p2wsh', 'p2wsh-p2sh')
        
            @classmethod
            def input_script(self, txin, estimate_size=False):
   DIR diff --git a/plugins/ledger/ledger.py b/plugins/ledger/ledger.py
       t@@ -438,15 +438,21 @@ class Ledger_KeyStore(Hardware_KeyStore):
        
            def show_address(self, sequence, txin_type):
                self.signing = True
       -        # prompt for the PIN before displaying the dialog if necessary
                client = self.get_client()
                address_path = self.get_derivation()[2:] + "/%d/%d"%sequence
                self.handler.show_message(_("Showing address ..."))
       -        segwit = txin_type in ['p2wpkh', 'p2wsh', 'p2wpkh-p2sh', 'p2wsh-p2sh']
       +        segwit = Transaction.is_segwit_inputtype(txin_type)
                try:
       -            self.get_client().getWalletPublicKey(address_path, showOnScreen=True, segwit=segwit)
       -        except:
       -            pass
       +            client.getWalletPublicKey(address_path, showOnScreen=True, segwit=segwit)
       +        except BTChipException as e:
       +            if e.sw == 0x6985:  # cancelled by user
       +                pass
       +            else:
       +                traceback.print_exc(file=sys.stderr)
       +                self.handler.show_error(e)
       +        except BaseException as e:
       +            traceback.print_exc(file=sys.stderr)
       +            self.handler.show_error(e)
                finally:
                    self.handler.finished()
                self.signing = False
   DIR diff --git a/plugins/ledger/qt.py b/plugins/ledger/qt.py
       t@@ -20,7 +20,6 @@ class Plugin(LedgerPlugin, QtPluginBase):
        
            @hook
            def receive_menu(self, menu, addrs, wallet):
       -        print('receive_menu')
                if type(wallet) is not Standard_Wallet:
                    return
                keystore = wallet.get_keystore()