TLS connection hangs because of ConfirmationDialogDoubleCheck throwing exception
Bug description
ConfirmationDialogDoubleCheck is ?sometimes? not displayed when showing certificate information (happened to me when I created an account pointing to conference.gajim.org).
ConfirmationDialogDoubleCheck gets called with tooltip2 being a function (instead of a string as expected/required) as documented by the stacktrace below.
This causes a trace to be shown and the dialog is never displayed, the connection hangs in the main window while it waits for the dialog that doesn't show up to be closed. I know this bug report is probably hard to comprehend, but the stacktrace should speak for itself. Tripping on krokodyle and writing in English are not compatible activities for me at this hour.
Steps to reproduce
Traceback (most recent call last): File "/home/me/devt/gajim/src/common/xmpp/idlequeue.py", line 533, in _process_events return IdleQueue._process_events(self, fd, flags) File "/home/me/devt/gajim/src/common/xmpp/idlequeue.py", line 394, in _process_events obj.pollin() File "/home/me/devt/gajim/src/common/xmpp/transports_nb.py", line 414, in pollin self._do_receive() File "/home/me/devt/gajim/src/common/xmpp/transports_nb.py", line 600, in _do_receive self._on_receive(received) File "/home/me/devt/gajim/src/common/xmpp/transports_nb.py", line 614, in _on_receive self.on_receive(data) File "/home/me/devt/gajim/src/common/xmpp/client_nb.py", line 308, in <lambda> self.onreceive(lambda _data:self._xmpp_connect_machine(mode, _data)) File "/home/me/devt/gajim/src/common/xmpp/client_nb.py", line 343, in _xmpp_connect_machine self._xmpp_connect_machine(mode='STREAM_STARTED') File "/home/me/devt/gajim/src/common/xmpp/client_nb.py", line 362, in _xmpp_connect_machine self._on_stream_start() File "/home/me/devt/gajim/src/common/xmpp/client_nb.py", line 398, in _on_stream_start self._on_connect() File "/home/me/devt/gajim/src/common/xmpp/client_nb.py", line 435, in _on_connect self.on_connect(self, self.connected) File "/home/me/devt/gajim/src/common/connection.py", line 1275, in _connect_success return self.connection_accepted(con, con_type) File "/home/me/devt/gajim/src/common/connection.py", line 1317, in connection_accepted certificate=con.Connection.ssl_certificate)) File "/home/me/devt/gajim/src/common/nec.py", line 77, in push_incoming_event if not gajim.ged.raise_event(event_object.name, event_object): File "/home/me/devt/gajim/src/common/ged.py", line 88, in raise_event if handler(*args, **kwargs): File "/home/me/devt/gajim/src/gui_interface.py", line 1214, in handle_event_ssl_error on_response_cancel=on_cancel) File "/home/me/devt/gajim/src/dialogs.py", line 5243, in init is_modal=False) File "/home/me/devt/gajim/src/dialogs.py", line 1753, in init self.checkbutton2.set_tooltip_text(tooltip2) TypeError: Gtk.Widget.set_tooltip_text() argument 1 must be string or None, not function