diff --git a/electrum/gui/qt/confirm_tx_dialog.py b/electrum/gui/qt/confirm_tx_dialog.py index 434e52a1f..fbabbef7d 100644 --- a/electrum/gui/qt/confirm_tx_dialog.py +++ b/electrum/gui/qt/confirm_tx_dialog.py @@ -101,6 +101,9 @@ class TxEditor: self.tx = None try: self.tx = self.make_tx(0) + except NotEnoughFunds: + self.not_enough_funds = True + return except BaseException: return except InternalAddressCorruption as e: diff --git a/electrum/gui/qt/transaction_dialog.py b/electrum/gui/qt/transaction_dialog.py index bc3c288e9..cc7be15a4 100644 --- a/electrum/gui/qt/transaction_dialog.py +++ b/electrum/gui/qt/transaction_dialog.py @@ -831,8 +831,9 @@ class PreviewTxDialog(BaseTxDialog, TxEditor): def update_fee_fields(self): freeze_fee = self.is_send_fee_frozen() freeze_feerate = self.is_send_feerate_frozen() - if self.no_dynfee_estimates: - size = self.tx.estimated_size() + tx = self.tx + if self.no_dynfee_estimates and tx: + size = tx.estimated_size() self.size_e.setAmount(size) if self.not_enough_funds or self.no_dynfee_estimates: if not freeze_fee: @@ -842,7 +843,7 @@ class PreviewTxDialog(BaseTxDialog, TxEditor): self.feerounding_icon.setVisible(False) return - tx = self.tx + assert tx is not None size = tx.estimated_size() fee = tx.get_fee()