summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorent Le Coz <louiz@louiz.org>2011-06-18 12:52:58 +0200
committerFlorent Le Coz <louiz@louiz.org>2011-06-18 12:52:58 +0200
commitc93815737ffce901c4c35a4def2e3fe0aaaeec99 (patch)
tree90deef758ee88b0167750bce4b7ba7153d09875c
parent07ce4dcb10e8aa093ef37f9f79930d0e74104b7d (diff)
downloadpoezio-c93815737ffce901c4c35a4def2e3fe0aaaeec99.tar.gz
poezio-c93815737ffce901c4c35a4def2e3fe0aaaeec99.tar.bz2
poezio-c93815737ffce901c4c35a4def2e3fe0aaaeec99.tar.xz
poezio-c93815737ffce901c4c35a4def2e3fe0aaaeec99.zip
Empty roster on disconnect
-rw-r--r--src/core.py7
-rw-r--r--src/roster.py4
2 files changed, 6 insertions, 5 deletions
diff --git a/src/core.py b/src/core.py
index 0bebc25f..1351914c 100644
--- a/src/core.py
+++ b/src/core.py
@@ -1393,13 +1393,10 @@ class Core(object):
for tab in self.tabs:
if isinstance(tab, tabs.MucTab):
muc.leave_groupchat(self.xmpp, tab.get_room().name, tab.get_room().own_nick, msg)
+ roster.empty()
self.save_config()
# Ugly fix thanks to gmail servers
- try:
- sys.stderr = None
- self.xmpp.disconnect(reconnect)
- except:
- pass
+ self.xmpp.disconnect(reconnect)
def command_quit(self, arg):
"""
diff --git a/src/roster.py b/src/roster.py
index aed5f5a0..afe83c9e 100644
--- a/src/roster.py
+++ b/src/roster.py
@@ -45,6 +45,10 @@ class Roster(object):
except IOError:
return
+ def empty(self):
+ self._contacts = {}
+ self._roster_groups = []
+
def add_contact(self, contact, jid):
"""
Add a contact to the contact list