summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormathieui <mathieui@mathieui.net>2015-09-23 20:28:09 +0200
committermathieui <mathieui@mathieui.net>2015-09-23 20:29:56 +0200
commit99d5e25f9bb9a6cbe51973d8409691ad8e5482a1 (patch)
tree7e1d986fc532a91940570eac349ff861b4152f28
parent06217c4a0cde140eed1ca92aa8903890206451bc (diff)
downloadpoezio-99d5e25f9bb9a6cbe51973d8409691ad8e5482a1.tar.gz
poezio-99d5e25f9bb9a6cbe51973d8409691ad8e5482a1.tar.bz2
poezio-99d5e25f9bb9a6cbe51973d8409691ad8e5482a1.tar.xz
poezio-99d5e25f9bb9a6cbe51973d8409691ad8e5482a1.zip
Fix various roster count issues
disconnections not clearing the number of connected contacts, leading to an ever-increasing count, and roster count not always being setup
-rw-r--r--src/core/handlers.py2
-rw-r--r--src/roster.py7
2 files changed, 8 insertions, 1 deletions
diff --git a/src/core/handlers.py b/src/core/handlers.py
index 6572bca4..e17476a4 100644
--- a/src/core/handlers.py
+++ b/src/core/handlers.py
@@ -748,6 +748,7 @@ def on_roster_update(self, iq):
del roster[jid]
else:
roster.update_contact_groups(jid)
+ roster.update_size()
if isinstance(self.current_tab(), tabs.RosterInfoTab):
self.refresh_window()
@@ -936,6 +937,7 @@ def on_disconnected(self, event):
"""
When we are disconnected from remote server
"""
+ roster.connected = 0
# Stop the ping plugin. It would try to send stanza on regular basis
self.xmpp.plugin['xep_0199'].disable_keepalive()
roster.modified()
diff --git a/src/roster.py b/src/roster.py
index 7866655f..ba7da63e 100644
--- a/src/roster.py
+++ b/src/roster.py
@@ -149,9 +149,14 @@ class Roster(object):
contact = self.get_and_set(key)
if key != self.jid and (contact and self.exists(contact)):
l.append(key)
- self.length = len(l)
+ self.update_size(l)
return l
+ def update_size(self, jids=None):
+ if jids is None:
+ jids = self.jids()
+ self.length = len(jids)
+
def get_contacts(self):
"""
Return a list of all the contacts