From 012fc5d23b25b4f240043a4de8deed6678a3256e Mon Sep 17 00:00:00 2001 From: Morgan Collett Date: Mon, 22 Oct 2007 13:22:32 +0100 Subject: [PATCH] #4238: Handle double BuddyLeft in handle tracking in sugar.presence --- NEWS | 2 ++ lib/sugar/presence/activity.py | 5 +++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index c5ed1583..2965fdcf 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,5 @@ +* #4238: Handle double BuddyLeft in handle tracking in sugar.presence (morgs) + Snapshot 57402cf309 * Add new keybindings (Ctrl+Q, Ctrl+escape) for close activity (erikos) diff --git a/lib/sugar/presence/activity.py b/lib/sugar/presence/activity.py index c162305e..5ce507d3 100644 --- a/lib/sugar/presence/activity.py +++ b/lib/sugar/presence/activity.py @@ -203,8 +203,9 @@ class Activity(gobject.GObject): def _buddy_left_cb(self, object_path): _logger.debug('%r: buddy %s left', self, object_path) gobject.idle_add(self._emit_buddy_left_signal, object_path) - handle = self._buddy_path_to_handle.pop(object_path) - self._handle_to_buddy_path.pop(handle, None) + handle = self._buddy_path_to_handle.pop(object_path, None) + if handle: + self._handle_to_buddy_path.pop(handle, None) def _emit_new_channel_signal(self, object_path): """Generate new-channel GObject signal with channel object path