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')