From 326126cbd70aa18f754779bb28d72ed517e1e7c6 Mon Sep 17 00:00:00 2001 From: Dan Williams Date: Wed, 18 Jul 2007 02:04:01 -0400 Subject: [PATCH] Suppress annoying warnings about unknown activities from the PS --- NEWS | 1 + shell/model/homeactivity.py | 10 +++++++++- shell/view/frame/FriendsBox.py | 25 ++++++++++++++++++------- 3 files changed, 28 insertions(+), 8 deletions(-) diff --git a/NEWS b/NEWS index 41ec296e..f9b8c155 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,4 @@ +* Suppress annoying warnings about unknown activities from the PS (dcbw) * Don't close GlibTCPServer sockets prematurely (dcbw) Snapshot 5212790236 diff --git a/shell/model/homeactivity.py b/shell/model/homeactivity.py index 4ee06d47..4487c09e 100644 --- a/shell/model/homeactivity.py +++ b/shell/model/homeactivity.py @@ -113,7 +113,15 @@ class HomeActivity(gobject.GObject): colour for the icon. """ pservice = presenceservice.get_instance() - activity = pservice.get_activity(self._activity_id) + + # HACK to suppress warning in logs when activity isn't found + # (if it's locally launched and not shared yet) + activity = None + for act in pservice.get_activities(): + if self._activity_id == act.props.id: + activity = act + break + if activity != None: return XoColor(activity.props.color) else: diff --git a/shell/view/frame/FriendsBox.py b/shell/view/frame/FriendsBox.py index 18b57d39..7b7dc601 100644 --- a/shell/view/frame/FriendsBox.py +++ b/shell/view/frame/FriendsBox.py @@ -105,13 +105,24 @@ class FriendsBox(hippo.CanvasBox): 'buddy-left', self.__buddy_left_cb) def _active_activity_changed_cb(self, home_model, home_activity): - if home_activity: - activity_id = home_activity.get_activity_id() - if activity_id: - ps = self._pservice.get_activity(activity_id) - self._set_activity_ps(ps) - else: - self._set_activity_ps(None) + if not home_activity: + self._set_activity_ps(None) + return + + activity_id = home_activity.get_activity_id() + if not activity_id: + self._set_activity_ps(None) + return + + # HACK to suppress warning in logs when activity isn't found + # (if it's locally launched and not shared yet) + activity = None + for act in self._pservice.get_activities(): + if activity_id == act.props.id: + activity = act + break + if activity: + self._set_activity_ps(activity) else: self._set_activity_ps(None)