[telepathy-python/master] Do not signal NewChannel(s) for channels already in self._channels.

Jonny Lamb jonny.lamb at collabora.co.uk
Thu Jul 16 01:49:36 PDT 2009


Signed-off-by: Jonny Lamb <jonny.lamb at collabora.co.uk>
---
 src/server/conn.py |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/server/conn.py b/src/server/conn.py
index 6d21319..24eecef 100644
--- a/src/server/conn.py
+++ b/src/server/conn.py
@@ -184,11 +184,15 @@ class Connection(_Connection, DBusProperties):
 
     def add_channels(self, channels, signal=True):
         """ add new channels and signal its creation"""
+        signal_channels = set()
+
         for channel in channels:
-            self._channels.add(channel)
+            if channel not in self._channels:
+                self._channels.add(channel)
+                signal_channels.add(channel)
 
         if signal:
-            self.signal_new_channels(channels)
+            self.signal_new_channels(signal_channels)
 
     def signal_new_channels(self, channels):
         self.NewChannels([(channel._object_path, channel.get_props()) \
-- 
1.5.6.5




More information about the telepathy-commits mailing list