fix infinite loop when in merged mode and we have twice the same contact in 2 different accounts. Fixes #2160 and #2187

This commit is contained in:
Yann Leboulanger 2006-08-03 08:06:04 +00:00
parent 8f449a4704
commit 159e782ce9

View file

@ -253,14 +253,14 @@ class RosterWindow:
if self.get_contact_iter(_jid, _account): if self.get_contact_iter(_jid, _account):
shown_family.append(data) shown_family.append(data)
if _jid == jid: if _jid == jid and _account == account:
our_data = data our_data = data
shown_family.append(our_data) shown_family.append(our_data)
big_brother_data = gajim.contacts.get_metacontacts_big_brother( big_brother_data = gajim.contacts.get_metacontacts_big_brother(
shown_family) shown_family)
big_brother_jid = big_brother_data['jid'] big_brother_jid = big_brother_data['jid']
big_brother_account = big_brother_data['account'] big_brother_account = big_brother_data['account']
if big_brother_jid != jid: if big_brother_jid != jid or big_brother_account != account:
# We are adding a child contact # We are adding a child contact
if contact.show in ('offline', 'error') and \ if contact.show in ('offline', 'error') and \
not showOffline and not gajim.awaiting_events[account].has_key(jid): not showOffline and not gajim.awaiting_events[account].has_key(jid):
@ -561,7 +561,8 @@ class RosterWindow:
# parent is not a contact # parent is not a contact
return return
parent_jid = model[parent_iter][C_JID].decode('utf-8') parent_jid = model[parent_iter][C_JID].decode('utf-8')
self.draw_contact(parent_jid, account) parent_account = model[parent_iter][C_ACCOUNT].decode('utf-8')
self.draw_contact(parent_jid, parent_account)
def draw_avatar(self, jid, account): def draw_avatar(self, jid, account):
'''draw the avatar''' '''draw the avatar'''