Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/src/sugar/presence
diff options
context:
space:
mode:
authorMorgan Collett <morgan.collett@gmail.com>2008-07-10 13:20:50 (GMT)
committer Morgan Collett <morgan.collett@gmail.com>2008-07-10 13:20:50 (GMT)
commit1659332c81ffaaf660852837c031c0da65ac1cf9 (patch)
tree1818239554ad1dbbe9bf5adebd66a532b983f449 /src/sugar/presence
parent92ef9d298a8ca0d67a4799c0ee652b63657c83ae (diff)
#7444 Fix crash in get_joined_buddies when a buddy disappears uncleanly
Diffstat (limited to 'src/sugar/presence')
-rw-r--r--src/sugar/presence/activity.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/sugar/presence/activity.py b/src/sugar/presence/activity.py
index ad21158..6f221bb 100644
--- a/src/sugar/presence/activity.py
+++ b/src/sugar/presence/activity.py
@@ -235,12 +235,18 @@ class Activity(gobject.GObject):
def get_joined_buddies(self):
"""Retrieve the set of Buddy objects attached to this activity
- returns list of presence Buddy objects
+ returns list of presence Buddy objects that we can successfully
+ create from the buddy object paths that PS has for this activity.
"""
resp = self._activity.GetJoinedBuddies()
buddies = []
for item in resp:
- buddies.append(self._ps_new_object(item))
+ try:
+ buddies.append(self._ps_new_object(item))
+ except dbus.DBusException:
+ _logger.debug(
+ 'get_joined_buddies failed to get buddy object for %r',
+ item)
return buddies
def get_buddy_by_handle(self, handle):