From 5794d54d1c4a554125a880b5dfc296de5fca08ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philipp=20H=C3=B6rist?= Date: Mon, 26 Mar 2018 23:47:43 +0200 Subject: [PATCH] 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 --- gajim/common/connection_handlers.py | 7 +++---- gajim/roster_window.py | 2 +- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/gajim/common/connection_handlers.py b/gajim/common/connection_handlers.py index e0835d514..13cf4e916 100644 --- a/gajim/common/connection_handlers.py +++ b/gajim/common/connection_handlers.py @@ -851,10 +851,9 @@ class ConnectionHandlersBase: 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) diff --git a/gajim/roster_window.py b/gajim/roster_window.py index 20d649cbb..4eea5e3cc 100644 --- a/gajim/roster_window.py +++ b/gajim/roster_window.py @@ -2574,7 +2574,7 @@ class RosterWindow: 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: