diff options
author | Tomeu Vizoso <tomeu.vizoso@collabora.co.uk> | 2010-10-04 14:36:15 (GMT) |
---|---|---|
committer | Tomeu Vizoso <tomeu.vizoso@collabora.co.uk> | 2010-10-04 14:36:15 (GMT) |
commit | df67afc9b33c683c4eb8f029a79b5ee54cd079a5 (patch) | |
tree | 0fb51d65a642094941761972f4fe49b4dc570ea1 | |
parent | 35a4f6dc2f379c0e0d23a629f6f6b5e352ee8fe7 (diff) |
Don't emit buddy-removed and activity-removed before they have announced #2401
Otherwise we'll get some tracebacks from the listeners of those
signals because they still don't know about those buddies or activities.
-rw-r--r-- | src/jarabe/model/neighborhood.py | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/jarabe/model/neighborhood.py b/src/jarabe/model/neighborhood.py index ed23f7f..478ee46 100644 --- a/src/jarabe/model/neighborhood.py +++ b/src/jarabe/model/neighborhood.py @@ -858,7 +858,9 @@ class Neighborhood(gobject.GObject): buddy = self._buddies[contact_id] del self._buddies[contact_id] - self.emit('buddy-removed', buddy) + + if buddy.props.key is not None: + self.emit('buddy-removed', buddy) def __activity_added_cb(self, account, room_handle, activity_id): logging.debug('__activity_added_cb %r %r', room_handle, activity_id) @@ -902,7 +904,9 @@ class Neighborhood(gobject.GObject): return activity = self._activities[activity_id] del self._activities[activity_id] - self.emit('activity-removed', activity) + + if activity.props.bundle is not None: + self.emit('activity-removed', activity) def __current_activity_updated_cb(self, account, contact_id, activity_id): logging.debug('__current_activity_updated_cb %r %r', contact_id, |