fix: ledger clear_dialog() threading issues
This commit is contained in:
@@ -238,7 +238,7 @@ class Ledger_KeyStore(Hardware_KeyStore):
|
|||||||
except Exception as e:
|
except Exception as e:
|
||||||
self.give_error(e, True)
|
self.give_error(e, True)
|
||||||
finally:
|
finally:
|
||||||
self.handler.clear_dialog()
|
self.handler.finished()
|
||||||
self.signing = False
|
self.signing = False
|
||||||
# Parse the ASN.1 signature
|
# Parse the ASN.1 signature
|
||||||
rLength = signature[3]
|
rLength = signature[3]
|
||||||
@@ -376,13 +376,13 @@ class Ledger_KeyStore(Hardware_KeyStore):
|
|||||||
transactionOutput = outputData['outputData']
|
transactionOutput = outputData['outputData']
|
||||||
if outputData['confirmationNeeded']:
|
if outputData['confirmationNeeded']:
|
||||||
outputData['address'] = output
|
outputData['address'] = output
|
||||||
self.handler.clear_dialog()
|
self.handler.finished()
|
||||||
pin = self.handler.get_auth( outputData ) # does the authenticate dialog and returns pin
|
pin = self.handler.get_auth( outputData ) # does the authenticate dialog and returns pin
|
||||||
if not pin:
|
if not pin:
|
||||||
raise UserWarning()
|
raise UserWarning()
|
||||||
if pin != 'paired':
|
if pin != 'paired':
|
||||||
self.handler.show_message(_("Confirmed. Signing Transaction..."))
|
self.handler.show_message(_("Confirmed. Signing Transaction..."))
|
||||||
while inputIndex < len(inputs):
|
while inputIndex < len(inputs):
|
||||||
singleInput = [ chipInputs[inputIndex] ]
|
singleInput = [ chipInputs[inputIndex] ]
|
||||||
self.get_client().startUntrustedTransaction(False, 0,
|
self.get_client().startUntrustedTransaction(False, 0,
|
||||||
singleInput, redeemScripts[inputIndex])
|
singleInput, redeemScripts[inputIndex])
|
||||||
@@ -400,7 +400,7 @@ class Ledger_KeyStore(Hardware_KeyStore):
|
|||||||
transactionOutput = outputData['outputData']
|
transactionOutput = outputData['outputData']
|
||||||
if outputData['confirmationNeeded']:
|
if outputData['confirmationNeeded']:
|
||||||
outputData['address'] = output
|
outputData['address'] = output
|
||||||
self.handler.clear_dialog()
|
self.handler.finished()
|
||||||
pin = self.handler.get_auth( outputData ) # does the authenticate dialog and returns pin
|
pin = self.handler.get_auth( outputData ) # does the authenticate dialog and returns pin
|
||||||
if not pin:
|
if not pin:
|
||||||
raise UserWarning()
|
raise UserWarning()
|
||||||
@@ -421,7 +421,7 @@ class Ledger_KeyStore(Hardware_KeyStore):
|
|||||||
traceback.print_exc(file=sys.stdout)
|
traceback.print_exc(file=sys.stdout)
|
||||||
self.give_error(e, True)
|
self.give_error(e, True)
|
||||||
finally:
|
finally:
|
||||||
self.handler.clear_dialog()
|
self.handler.finished()
|
||||||
|
|
||||||
for i, txin in enumerate(tx.inputs()):
|
for i, txin in enumerate(tx.inputs()):
|
||||||
signingPos = inputs[i][4]
|
signingPos = inputs[i][4]
|
||||||
|
|||||||
Reference in New Issue
Block a user