Browse Source

catch exception within sign thread, to re-enable send button

283
ThomasV 10 years ago
parent
commit
2da9a02fb3
  1. 13
      gui/qt/main_window.py
  2. 5
      gui/qt/util.py

13
gui/qt/main_window.py

@ -1021,13 +1021,15 @@ class ElectrumWindow(QMainWindow):
# sign the tx
def sign_thread():
time.sleep(0.1)
keypairs = {}
self.wallet.add_keypairs(tx, keypairs, password)
self.wallet.sign_transaction(tx, keypairs, password)
return tx, fee, label
try:
self.wallet.add_keypairs(tx, keypairs, password)
self.wallet.sign_transaction(tx, keypairs, password)
except Exception as e:
tx.error = str(e)
return tx
def sign_done(tx, fee, label):
def sign_done(tx):
if tx.error:
self.show_message(tx.error)
self.send_button.setDisabled(False)
@ -1047,6 +1049,7 @@ class ElectrumWindow(QMainWindow):
self.broadcast_transaction(tx)
# keep a reference to WaitingDialog or the gui might crash
self.waiting_dialog = WaitingDialog(self, 'Signing..', sign_thread, sign_done)
self.waiting_dialog.start()

5
gui/qt/util.py

@ -37,7 +37,10 @@ class WaitingDialog(QThread):
return
if self.on_complete:
self.on_complete(*self.result)
if type(self.result) is tuple:
self.on_complete(*self.result)
else:
self.on_complete(self.result)

Loading…
Cancel
Save