diff options
author | Simon McVittie <simon.mcvittie@collabora.co.uk> | 2007-09-10 15:07:39 (GMT) |
---|---|---|
committer | Simon McVittie <simon.mcvittie@collabora.co.uk> | 2007-09-10 15:07:39 (GMT) |
commit | c7b7d925ecaaaeda337a564d85219986d6c64e8f (patch) | |
tree | 5aa7b7165d3e06e6931baa358f6633d03fd15aa8 | |
parent | 3ed091301bd0dc335c528fe7e3defd0ab0c8ccb7 (diff) |
When a buddy goes offline, consider them to have left all their activities
-rw-r--r-- | NEWS | 2 | ||||
-rw-r--r-- | src/buddy.py | 5 |
2 files changed, 7 insertions, 0 deletions
@@ -1,3 +1,5 @@ +* When a buddy goes offline, consider them to have left all their + activities (smcv) * Improve tracking of who's in activities with us (smcv) * Refactor joining/sharing so we don't claim to have succeeded, or try to SetProperties(), until we're actually in the chatroom diff --git a/src/buddy.py b/src/buddy.py index 23f0f64..0552fdf 100644 --- a/src/buddy.py +++ b/src/buddy.py @@ -335,6 +335,11 @@ class Buddy(ExportedGObject): except KeyError: return + # act as though the buddy signalled ActivitiesChanged([]) + for act in self.get_joined_activities(): + if act.room_details[0] == tp_client: + act.buddy_apparently_left(self) + self.TelepathyHandleRemoved(conn.service_name, conn.object_path, handle) # the Owner can't disappear - that would be silly |