Author: asterix Date: 2008-10-12 13:20:35 +0200 (Sun, 12 Oct 2008) New Revision: 10528
Modified: trunk/src/common/caps.py trunk/src/groupchat_control.py Log: update Contact instance in privateChatControl. see #4292
Modified: trunk/src/common/caps.py =================================================================== --- trunk/src/common/caps.py 2008-10-12 00:51:24 UTC (rev 10527) +++ trunk/src/common/caps.py 2008-10-12 11:20:35 UTC (rev 10528) @@ -228,12 +228,14 @@ # we will put these into proper Contact object and ask # for disco... so that disco will learn how to interpret # these caps + pm_ctrl = None jid = helpers.get_full_jid_from_iq(presence) contact = gajim.contacts.get_contact_from_full_jid(self.name, jid) if contact is None: room_jid, nick = gajim.get_room_and_nick_from_fjid(jid) contact = gajim.contacts.get_gc_contact( self.name, room_jid, nick) + pm_ctrl = gajim.interface.msg_win_mgr.get_control(jid, self.name) if contact is None: # TODO: a way to put contact not-in-roster # into Contacts @@ -267,6 +269,8 @@ contact.caps_node = node contact.caps_hash_method = hash_method contact.caps_hash = hash + if pm_ctrl: + pm_ctrl.update_contact()
def _capsDiscoCB(self, jid, node, identities, features, dataforms): contact = gajim.contacts.get_contact_from_full_jid(self.name, jid)
Modified: trunk/src/groupchat_control.py =================================================================== --- trunk/src/groupchat_control.py 2008-10-12 00:51:24 UTC (rev 10527) +++ trunk/src/groupchat_control.py 2008-10-12 11:20:35 UTC (rev 10528) @@ -162,7 +162,10 @@ self.got_connected() ChatControl.update_ui(self)
+ def update_contact(self): + self.contact = gajim.contacts.contact_from_gc_contact(self.gc_contact)
+ class GroupchatControl(ChatControlBase): TYPE_ID = message_control.TYPE_GC # alphanum sorted