diff --git a/src/groupchat_control.py b/src/groupchat_control.py index e9a028080e3cdfb1445d4f8051d9174dbd0b135e..5f2d6c6e624545b0af674d037769986a466a2a28 100644 --- a/src/groupchat_control.py +++ b/src/groupchat_control.py @@ -2069,14 +2069,11 @@ class GroupchatControl(ChatControlBase): gc_c = gajim.contacts.get_gc_contact(self.account, self.room_jid, nick) nick_jid = gc_c.get_full_jid() - win = gajim.interface.msg_win_mgr.get_window(nick_jid, self.account) - if not win: - gajim.interface.new_private_chat(gc_c, self.account) - win = gajim.interface.msg_win_mgr.get_window(nick_jid, self.account) + ctrl = gajim.interface.msg_win_mgr.get_control(nick_jid, self.account) + if not ctrl: + ctrl = gajim.interface.new_private_chat(gc_c, self.account) - ctrl = win.get_control(nick_jid, self.account) - - win.set_active_tab(ctrl) + ctrl.parent_win.set_active_tab(ctrl) return ctrl diff --git a/src/session.py b/src/session.py index 56193145d176e6ab5bfa6a27469927660db87431..481350c99d316123801eb57f546efe8e4cfbd282 100644 --- a/src/session.py +++ b/src/session.py @@ -175,8 +175,7 @@ class ChatControlSession(stanza_session.EncryptedStanzaSession): jid_of_control = full_jid_with_resource if not self.control: - # look for an existing chat control without a session - ctrl = gajim.interface.msg_win_mgr.get_control(jid, self.conn.name) + ctrl = gajim.interface.msg_win_mgr.get_control(jid_of_control, self.conn.name) if ctrl: self.control = ctrl self.control.set_session(self)