Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMorgan Collett <morgan.collett@gmail.com>2007-07-09 11:45:21 (GMT)
committer Morgan Collett <morgan.collett@gmail.com>2007-07-09 11:45:21 (GMT)
commitf7c174aa82bbafa6ebdc33930acb9f8aaa37e689 (patch)
treedcdacda06ab6daf8ac2cad50d182c918bae2c643
parent7800d30b528f0b8181824d5309a82a2c85d92fd8 (diff)
Remove buddy anyway on leaving, works at least partially
-rw-r--r--src/activity.py4
-rw-r--r--src/buddy.py3
2 files changed, 7 insertions, 0 deletions
diff --git a/src/activity.py b/src/activity.py
index c58f38a..0cc16e7 100644
--- a/src/activity.py
+++ b/src/activity.py
@@ -471,6 +471,7 @@ class Activity(ExportedGObject):
def _remove_buddies(self, buddies):
buddies = set(buddies)
+ _logger.debug("Removing buddies: %r", buddies)
# disregard any who are not already there
buddies &= self._buddies
@@ -500,6 +501,9 @@ class Activity(ExportedGObject):
"""
if not self._joined:
self._remove_buddies((buddy,))
+ else:
+ # XXX Buddy-left starts working partially at least, if we do this anyway:
+ self._remove_buddies((buddy,))
def _text_channel_group_flags_changed_cb(self, added, removed):
self._text_channel_group_flags |= added
diff --git a/src/buddy.py b/src/buddy.py
index 64e5831..d8d5694 100644
--- a/src/buddy.py
+++ b/src/buddy.py
@@ -214,6 +214,9 @@ class Buddy(ExportedGObject):
self._icon = str(icon_data)
self.IconChanged(self._icon)
+ def __repr__(self):
+ return '<ps.buddy.Buddy %s>' % self._nick
+
def do_get_property(self, pspec):
"""Retrieve current value for the given property specifier