Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon 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)
commitc7b7d925ecaaaeda337a564d85219986d6c64e8f (patch)
tree5aa7b7165d3e06e6931baa358f6633d03fd15aa8
parent3ed091301bd0dc335c528fe7e3defd0ab0c8ccb7 (diff)
When a buddy goes offline, consider them to have left all their activities
-rw-r--r--NEWS2
-rw-r--r--src/buddy.py5
2 files changed, 7 insertions, 0 deletions
diff --git a/NEWS b/NEWS
index 2a78e3a..6cbca28 100644
--- a/NEWS
+++ b/NEWS
@@ -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