diff --git a/src/groupchat_control.py b/src/groupchat_control.py index 9b150cc2050affa50f9806eedede3b8993afa67f..1d975cf9cda08a2962594bb7ee1469b7f91e670b 100644 --- a/src/groupchat_control.py +++ b/src/groupchat_control.py @@ -1537,9 +1537,18 @@ class GroupchatControl(ChatControlBase): _('The nickname has not allowed characters.')) return gajim.connections[self.account].join_gc(nick, self.room_jid, None) - self.nick = nick + if gajim.gc_connected[self.account][self.room_jid]: + # We are changing nick, we will change self.nick when we receive + # presence that inform that it works + self.new_nick = nick + else: + # We are connecting, we will not get a changed nick presence so + # change it NOW. We don't already have a nick so it's harmless + self.nick = nick + def on_cancel(): + self.new_nick = '' instance = dialogs.InputDialog(title, prompt, proposed_nick, - is_modal = False, ok_handler = on_ok) + is_modal = False, ok_handler = on_ok, cancel_handler = on_cancel) def minimize(self, status='offline'): # Minimize it