Correctly sort metacontact data if one of the jids is a transport and not in our roster. Fixes #4208, #4195.
This commit is contained in:
parent
0bc1ac47f7
commit
433fcafc52
|
@ -479,14 +479,21 @@ class Contacts:
|
|||
contact2 = self.get_contact_with_highest_priority(account2, jid2)
|
||||
show_list = ['not in roster', 'error', 'offline', 'invisible', 'dnd',
|
||||
'xa', 'away', 'chat', 'online', 'requested', 'message']
|
||||
# contact can be null when we fill the roster on connection
|
||||
# contact can be null when a jid listed in the metacontact data
|
||||
# is not in our roster
|
||||
if not contact1:
|
||||
if contact2:
|
||||
return -1 # prefer the known contact
|
||||
else:
|
||||
show1 = 0
|
||||
priority1 = 0
|
||||
else:
|
||||
show1 = show_list.index(contact1.show)
|
||||
priority1 = contact1.priority
|
||||
if not contact2:
|
||||
if contact1:
|
||||
return 1 # prefer the known contact
|
||||
else:
|
||||
show2 = 0
|
||||
priority2 = 0
|
||||
else:
|
||||
|
|
Loading…
Reference in New Issue