From 420ac5d23687a7b830ca4e1a30174967e9bfd8d8 Mon Sep 17 00:00:00 2001 From: Simon McVittie Date: Wed, 12 Sep 2007 13:07:49 +0000 Subject: Avoid Gabble invite-only activities disappearing from the mesh view when we join them (#3369) --- diff --git a/NEWS b/NEWS index 43a1217..7e2e2df 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,5 @@ +* #3369: avoid Gabble invite-only activities disappearing from the + mesh view when we join them (smcv) * #3370: fix error reporting in logs by working around dbus-python bug#12403 (smcv) diff --git a/src/activity.py b/src/activity.py index 0bc2c40..4f8e61d 100644 --- a/src/activity.py +++ b/src/activity.py @@ -994,7 +994,13 @@ class Activity(ExportedGObject): for handle in removed: buddy = self._handle_to_buddy.pop(handle, None) removed_buddies.add(buddy) - self._remove_buddies(removed_buddies) + # If we're not in the room yet, the "removal" may be spurious - + # Gabble removes the inviter from members at the same time it adds + # us to local-pending. We'll catch up anyway when we join the room and + # do the apparent<->reality sync, so just don't remove anyone until + # we've joined. + if self._joined: + self._remove_buddies(removed_buddies) # if we were among those removed, we'll have to start believing # the spoofable PEP-based activity tracking again. -- cgit v0.9.1