Commit 5794d54d authored by Philipp Hörist's avatar Philipp Hörist

Dont print status if it has not changed

Only print the status, if status has changed or the status message

Clients announce there idle-time with presences but adding a idle-time
does not necessarily mean they went from available -> away

Fixes #9001
parent 4ef15d4a
......@@ -851,10 +851,9 @@ def _nec_presence_received(self, obj):
obj.contact.contact_name = obj.contact_nickname
obj.need_redraw = True
if obj.old_show == obj.new_show and obj.contact.status == \
obj.status and obj.contact.priority == obj.prio and \
obj.contact.idle_time == obj.idle_time: # no change
return True
elif obj.old_show != obj.new_show or obj.contact.status != \
obj.status:
obj.need_redraw = True
else:
obj.contact = app.contacts.get_first_contact_from_jid(account,
jid)
......
......@@ -2574,7 +2574,7 @@ def _nec_presence_received(self, obj):
self.draw_contact(jid, account)
self.draw_group(_('Transports'), account)
if obj.contact:
if obj.contact and obj.need_redraw:
self.chg_contact_status(obj.contact, obj.show, obj.status, account)
if obj.popup:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment