diff --git a/electrum/gui/qt/confirm_tx_dialog.py b/electrum/gui/qt/confirm_tx_dialog.py index a12dd9c5c..8b26e24f0 100644 --- a/electrum/gui/qt/confirm_tx_dialog.py +++ b/electrum/gui/qt/confirm_tx_dialog.py @@ -67,6 +67,9 @@ class TxEditor: self.update() self.needs_update = False + def stop_editor_updates(self): + self.main_window.gui_object.timer.timeout.disconnect(self.timer_actions) + def fee_slider_callback(self, dyn, pos, fee_rate): if dyn: if self.config.use_mempool_fees(): @@ -193,6 +196,7 @@ class ConfirmTxDialog(TxEditor, WindowModalDialog): def run(self): cancelled = not self.exec_() password = self.pw.text() or None + self.stop_editor_updates() self.deleteLater() # see #3956 return cancelled, self.is_send, password, self.tx diff --git a/electrum/gui/qt/transaction_dialog.py b/electrum/gui/qt/transaction_dialog.py index cb659ca44..68725ef89 100644 --- a/electrum/gui/qt/transaction_dialog.py +++ b/electrum/gui/qt/transaction_dialog.py @@ -989,6 +989,7 @@ class PreviewTxDialog(BaseTxDialog, TxEditor): return assert self.tx self.finalized = True + self.stop_editor_updates() self.tx.set_rbf(self.rbf_cb.isChecked()) locktime = self.locktime_e.get_locktime() if locktime is not None: