diff options
author | Dan Williams <dcbw@redhat.com> | 2006-06-20 01:17:58 (GMT) |
---|---|---|
committer | Dan Williams <dcbw@redhat.com> | 2006-06-20 01:17:58 (GMT) |
commit | 78ee3d2b20d11f76621368fcdc61009a1db0aff0 (patch) | |
tree | cacc369c59b2542b23bc142434f88c51592dc02f /sugar | |
parent | 6fd464be7d0bda694b961e3819e057e2f438d826 (diff) |
Find chat service that may have already been resolved, and make sure we don't user services that aren't for our activity
Diffstat (limited to 'sugar')
-rw-r--r-- | sugar/chat/GroupChat.py | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/sugar/chat/GroupChat.py b/sugar/chat/GroupChat.py index 97b32dc..d9e723e 100644 --- a/sugar/chat/GroupChat.py +++ b/sugar/chat/GroupChat.py @@ -18,11 +18,15 @@ class GroupChat(Chat): self._pservice.start() self._pservice.connect('service-appeared', self._service_appeared_cb) self._pservice.track_service_type(GroupChat.SERVICE_TYPE) + service = self._pservice.get_activity_service(activity, GroupChat.SERVICE_TYPE) + if service is not None: + self._service_appeared(self._pservice, None, service) def _service_appeared_cb(self, pservice, buddy, service): - if service.get_full_type() == GroupChat.SERVICE_TYPE: - logging.debug('Group chat service appeared, setup the stream.') - self._setup_stream(service) + if service.get_activity_uid() == self._activity.get_id(): + if service.get_type() == GroupChat.SERVICE_TYPE: + logging.debug('Group chat service appeared, setup the stream.') + self._setup_stream(service) def publish(self): service = self._pservice.share_activity(self._activity, |