[telepathy-butterfly/master] Copy the mutex callbacks list so it doesn't get erased.

Louis-Francis Ratté-Boulianne louis-francis.ratte-boulianne at collabora.co.uk
Tue Aug 18 14:04:52 PDT 2009


---
 butterfly/channel/contact_list.py |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/butterfly/channel/contact_list.py b/butterfly/channel/contact_list.py
index b0c933c..5f38077 100644
--- a/butterfly/channel/contact_list.py
+++ b/butterfly/channel/contact_list.py
@@ -53,9 +53,9 @@ class HandleMutex(object):
             return
         self._handles.remove(handle)
         del self._keys[handle]
-        callbacks = self._callbacks
+        callbacks = self._callbacks.get(handle, [])[:]
         self._callbacks[handle] = []
-        for callback in callbacks.get(handle, []):
+        for callback in callbacks:
             callback[0](*callback[1:])
 
     def add_callback(self, key, handle, callback):
-- 
1.5.6.5



More information about the telepathy-commits mailing list