diff options
-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 |