[Telepathy-commits] [telepathy-gabble/master] gabble_tube_stream_offer_stream_tube: call gabble_tube_stream_offer with muc stream tubes too

Guillaume Desmottes guillaume.desmottes at collabora.co.uk
Mon Jan 19 05:55:24 PST 2009


---
 src/tube-stream.c |   23 ++++++++++++++---------
 1 files changed, 14 insertions(+), 9 deletions(-)

diff --git a/src/tube-stream.c b/src/tube-stream.c
index 1eb91a7..d03b70b 100644
--- a/src/tube-stream.c
+++ b/src/tube-stream.c
@@ -1994,22 +1994,27 @@ gabble_tube_stream_offer_stream_tube (GabbleSvcChannelTypeStreamTube *iface,
   g_assert (priv->access_control_param == NULL);
   priv->access_control_param = tp_g_value_slice_dup (access_control_param);
 
-  if (priv->handle_type == TP_HANDLE_TYPE_CONTACT)
+  if (!gabble_tube_stream_offer (self, address_type,
+      address, access_control, access_control_param, &error))
     {
-      if (!gabble_tube_stream_offer (self, address_type,
-          address, access_control, access_control_param, &error))
-        {
-          gabble_tube_stream_close (GABBLE_TUBE_IFACE (self), TRUE);
+      gabble_tube_stream_close (GABBLE_TUBE_IFACE (self), TRUE);
 
-          dbus_g_method_return_error (context, error);
+      dbus_g_method_return_error (context, error);
 
-          g_error_free (error);
-          return;
-        }
+      g_error_free (error);
+      return;
+    }
 
+  if (priv->handle_type == TP_HANDLE_TYPE_CONTACT)
+    {
       gabble_svc_channel_interface_tube_emit_tube_channel_state_changed (
           self, GABBLE_TUBE_CHANNEL_STATE_REMOTE_PENDING);
     }
+  else
+    {
+      gabble_svc_channel_interface_tube_emit_tube_channel_state_changed (
+          self, GABBLE_TUBE_CHANNEL_STATE_OPEN);
+    }
 
   g_signal_connect (self, "tube-new-connection",
       G_CALLBACK (stream_unix_tube_new_connection_cb), self);
-- 
1.5.6.5




More information about the Telepathy-commits mailing list