From be322f7ea7e1789fa044e857202cb2a8f24dadde Mon Sep 17 00:00:00 2001 From: SomberNight Date: Wed, 22 Jun 2022 01:38:35 +0200 Subject: [PATCH] qt dialogs: disconnect signals and unregister callbacks in closeEvent --- electrum/gui/qt/channel_details.py | 4 ++++ electrum/gui/qt/settings_dialog.py | 8 ++++++++ 2 files changed, 12 insertions(+) diff --git a/electrum/gui/qt/channel_details.py b/electrum/gui/qt/channel_details.py index 6a783b556..e6d624cef 100644 --- a/electrum/gui/qt/channel_details.py +++ b/electrum/gui/qt/channel_details.py @@ -224,3 +224,7 @@ class ChannelDetailsDialog(QtWidgets.QDialog, MessageBoxMixin, QtEventListener): vbox.addLayout(Buttons(CloseButton(self))) # initialize sent/received fields self.update() + + def closeEvent(self, event): + self.unregister_callbacks() + event.accept() diff --git a/electrum/gui/qt/settings_dialog.py b/electrum/gui/qt/settings_dialog.py index e2225ddb0..a88483779 100644 --- a/electrum/gui/qt/settings_dialog.py +++ b/electrum/gui/qt/settings_dialog.py @@ -580,3 +580,11 @@ class SettingsDialog(QDialog, QtEventListener): self.config.set_key('alias', alias, True) if alias: self.wallet.contacts.fetch_openalias(self.config) + + def closeEvent(self, event): + self.unregister_callbacks() + try: + self.app.alias_received_signal.disconnect(self.set_alias_color) + except TypeError: + pass # 'method' object is not connected + event.accept()