diff libervia.py @ 304:2ab513a47e3b

browser_side: fix presence/status update (do not share between different resources)
author souliane <souliane@mailoo.org>
date Wed, 18 Dec 2013 09:54:27 +0100
parents e4f586fc6101
children 05e264e96a1c
line wrap: on
line diff
--- a/libervia.py	Wed Dec 18 09:51:10 2013 +0100
+++ b/libervia.py	Wed Dec 18 09:54:27 2013 +0100
@@ -627,13 +627,13 @@
             self.contact_panel.setContactMessageWaiting(other.bare, True)
 
     def _presenceUpdateCb(self, entity, show, priority, statuses):
-        _entity = JID(entity)
-        #XXX: QnD way to get our status
-        if self.whoami and self.whoami.bare == _entity.bare and statuses:
+        entity_jid = JID(entity)
+        if self.whoami and self.whoami == entity_jid:  # XXX: QnD way to get our presence/status
             self.status_panel.setPresence(show)
-            self.status_panel.changeStatus(statuses.values()[0])
-        if (not self.whoami or self.whoami.bare != _entity.bare):
-            self.contact_panel.setConnected(_entity.bare, _entity.resource, show, priority, statuses)
+            if statuses:
+                self.status_panel.changeStatus(statuses.values()[0])
+        else:
+            self.contact_panel.setConnected(entity_jid.bare, entity_jid.resource, show, priority, statuses)
 
     def _roomJoinedCb(self, room_jid, room_nicks, user_nick):
         _target = JID(room_jid)