commit 956f69f3d38f54f689f1909367ca6b89da0e5440
parent 8347ad5449e757d96724faee6cad420ec195931c
Author: ThomasV <thomasv@gitorious>
Date: Fri, 24 Oct 2014 10:53:09 +0200
trezor: raise and catch BaseException in signing
Diffstat:
3 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/gui/qt/util.py b/gui/qt/util.py
@@ -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'))
diff --git a/plugins/btchipwallet.py b/plugins/btchipwallet.py
@@ -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 = []
diff --git a/plugins/trezor.py b/plugins/trezor.py
@@ -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')