diff options
author | mathieui <mathieui@mathieui.net> | 2015-09-23 20:28:09 +0200 |
---|---|---|
committer | mathieui <mathieui@mathieui.net> | 2015-09-23 20:29:56 +0200 |
commit | 99d5e25f9bb9a6cbe51973d8409691ad8e5482a1 (patch) | |
tree | 7e1d986fc532a91940570eac349ff861b4152f28 /src | |
parent | 06217c4a0cde140eed1ca92aa8903890206451bc (diff) | |
download | poezio-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
Diffstat (limited to 'src')
-rw-r--r-- | src/core/handlers.py | 2 | ||||
-rw-r--r-- | src/roster.py | 7 |
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 |