diff --git a/src/dialogs.py b/src/dialogs.py index 623445b34dfd95ecafbc922c1d3d3235ec27ec1c..803835e421ca34d2611e08561ddd1ac58cacf7f0 100644 --- a/src/dialogs.py +++ b/src/dialogs.py @@ -2443,13 +2443,10 @@ class JoinGroupchatWindow: _('The group chat Jabber ID has not allowed characters.')) return - if gajim.interface.msg_win_mgr.has_window(room_jid, self.account): - ctrl = gajim.interface.msg_win_mgr.get_gc_control(room_jid, - self.account) - if ctrl.type_id != message_control.TYPE_GC: - ErrorDialog(_('This is not a group chat'), - _('%s is not the name of a group chat.') % room_jid) - return + if gajim.contacts.get_contact(self.account, room_jid): + ErrorDialog(_('This is not a group chat'), + _('%s is not the name of a group chat.') % room_jid) + return if room_jid in self.recently_groupchat: self.recently_groupchat.remove(room_jid) self.recently_groupchat.insert(0, room_jid) diff --git a/src/gui_interface.py b/src/gui_interface.py index a39be727eca27cbe37f0af511bbad90c5f8190cf..4a0fa08bfebb1a32766f5b57ffd83ee95298cc35 100644 --- a/src/gui_interface.py +++ b/src/gui_interface.py @@ -1909,6 +1909,12 @@ class Interface: """ Join the room immediately """ + + if gajim.contacts.get_contact(account, room_jid): + dialogs.ErrorDialog(_('This is not a group chat'), + _('%s is not the name of a group chat.') % room_jid) + return + if not nick: nick = gajim.nicks[account] @@ -2414,7 +2420,7 @@ class Interface: if not jid in gajim.gc_connected[account]: # we are not already connected minimize = bm['minimize'] in ('1', 'true') - gajim.interface.join_gc_room(account, jid, bm['nick'], + self.join_gc_room(account, jid, bm['nick'], bm['password'], minimize = minimize) elif jid in self.minimized_controls[account]: # more or less a hack: