[Telepathy-commits] [telepathy-salut/master] salut_tubes_manager_caps_diff: check hash tables size first

Guillaume Desmottes guillaume.desmottes at collabora.co.uk
Thu Feb 26 11:20:28 PST 2009


---
 src/salut-tubes-manager.c |   17 +++++++++--------
 1 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/src/salut-tubes-manager.c b/src/salut-tubes-manager.c
index 7293482..a4c250d 100644
--- a/src/salut-tubes-manager.c
+++ b/src/salut-tubes-manager.c
@@ -1404,20 +1404,21 @@ salut_tubes_manager_caps_diff (
   if (old_caps == new_caps || old_caps == NULL || new_caps == NULL)
     return TRUE;
 
-  if (!hash_table_is_subset (new_caps->stream_tube_caps,
-        old_caps->stream_tube_caps))
+  if (g_hash_table_size (old_caps->stream_tube_caps) !=
+      g_hash_table_size (new_caps->stream_tube_caps))
     return TRUE;
 
-  if (!hash_table_is_subset (new_caps->dbus_tube_caps,
-        old_caps->dbus_tube_caps))
+  if (g_hash_table_size (old_caps->dbus_tube_caps) !=
+      g_hash_table_size (new_caps->dbus_tube_caps))
     return TRUE;
 
-  if (!hash_table_is_subset (old_caps->stream_tube_caps,
-        new_caps->stream_tube_caps))
+  /* Hash tables have the same size */
+  if (!hash_table_is_subset (new_caps->stream_tube_caps,
+        old_caps->stream_tube_caps))
     return TRUE;
 
-  if (!hash_table_is_subset (old_caps->dbus_tube_caps,
-        new_caps->dbus_tube_caps))
+  if (!hash_table_is_subset (new_caps->dbus_tube_caps,
+        old_caps->dbus_tube_caps))
     return TRUE;
 
   return FALSE;
-- 
1.5.6.5




More information about the telepathy-commits mailing list