diff --git a/briar-gtk/briar_gtk/containers/main_window.py b/briar-gtk/briar_gtk/containers/main_window.py index e9a72f2473cae4d4177a51a0ebaa4d28f2e35e8d..e167f22337d1344020f2859d1957a25bef966a29 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()