URI: 
       ttrezor: raise and catch BaseException in signing - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit 956f69f3d38f54f689f1909367ca6b89da0e5440
   DIR parent 8347ad5449e757d96724faee6cad420ec195931c
  HTML Author: ThomasV <thomasv@gitorious>
       Date:   Fri, 24 Oct 2014 10:53:09 +0200
       
       ttrezor: raise and catch BaseException in signing
       
       Diffstat:
         M gui/qt/util.py                      |       2 +-
         M plugins/btchipwallet.py             |       4 +++-
         M plugins/trezor.py                   |       4 +++-
       
       3 files changed, 7 insertions(+), 3 deletions(-)
       ---
   DIR diff --git a/gui/qt/util.py b/gui/qt/util.py
       t@@ -35,7 +35,7 @@ class WaitingDialog(QThread):
                self.error = None
                try:
                    self.result = self.run_task()
       -        except Exception as e:
       +        except BaseException as e:
                    traceback.print_exc(file=sys.stdout)
                    self.error = str(e)
                self.d.emit(SIGNAL('done'))
   DIR diff --git a/plugins/btchipwallet.py b/plugins/btchipwallet.py
       t@@ -322,8 +322,10 @@ class BTChipWallet(NewWallet):
                return b64encode(chr(27 + 4 + (signature[0] & 0x01)) + r + s) 
        
            def sign_transaction(self, tx, keypairs, password):
       -        if tx.error or tx.is_complete():
       +        if tx.is_complete():
                    return
       +        if tx.error:
       +            raise BaseException(tx.error)
                self.signing = True        
                inputs = []
                inputsPaths = []
   DIR diff --git a/plugins/trezor.py b/plugins/trezor.py
       t@@ -274,8 +274,10 @@ class TrezorWallet(NewWallet):
                return str(b64_msg_sig)
        
            def sign_transaction(self, tx, keypairs, password):
       -        if tx.error or tx.is_complete():
       +        if tx.is_complete():
                    return
       +        if tx.error:
       +            raise BaseException(tx.error)
        
                if not self.check_proper_device():
                    give_error('Wrong device or password')