From 2ed97023a76817a64a4391cc2a789b5d24a0c2ec Mon Sep 17 00:00:00 2001 From: Nico Alt <nicoalt@posteo.org> Date: Wed, 1 Apr 2020 12:00:00 +0000 Subject: [PATCH] Disconnect from chat entry listener on tab close Before, more and more listeners got added to the chat entry, resulting in the bug of message text not being visible after posting. Fixes https://code.briarproject.org/briar/briar-gtk/issues/25. --- briar-gtk/briar_gtk/containers/main_window.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/briar-gtk/briar_gtk/containers/main_window.py b/briar-gtk/briar_gtk/containers/main_window.py index e9a72f2..e167f22 100644 --- a/briar-gtk/briar_gtk/containers/main_window.py +++ b/briar-gtk/briar_gtk/containers/main_window.py @@ -96,7 +96,17 @@ class MainWindowContainer(Container): private_chat_widget = PrivateChatContainer(contact_name, contact_id) self.history_container.add(private_chat_widget) self.history_container.show_all() - self.chat_entry.connect("activate", private_chat_widget.send_message) + + self._disconnect_chat_entry_signals() + self._chat_entry_signal_id = self.chat_entry.connect( + "activate", private_chat_widget.send_message + ) + + def _disconnect_chat_entry_signals(self): + if not hasattr(self, "_chat_entry_signal_id"): + return + self.chat_entry.disconnect(self._chat_entry_signal_id) + del self._chat_entry_signal_id def _no_chat_opened(self): return self.chat_placeholder.get_visible() -- GitLab