[Telepathy-commits] [telepathy-salut/master] GibberBytestreamDirect: Do not tinker with the states of the transport

Alban Crequy alban.crequy at collabora.co.uk
Mon Nov 24 10:23:45 PST 2008


---
 lib/gibber/gibber-bytestream-direct.c |    7 +++++--
 lib/gibber/gibber-transport.h         |    4 ++--
 2 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/lib/gibber/gibber-bytestream-direct.c b/lib/gibber/gibber-bytestream-direct.c
index 772b05e..dc3c6a6 100644
--- a/lib/gibber/gibber-bytestream-direct.c
+++ b/lib/gibber/gibber-bytestream-direct.c
@@ -494,8 +494,11 @@ gibber_bytestream_direct_accept_socket (GibberBytestreamIface *bytestream,
     }
 
   set_transport (self, transport);
-  gibber_transport_set_state (transport, GIBBER_TRANSPORT_CONNECTING);
-  gibber_transport_set_state (transport, GIBBER_TRANSPORT_CONNECTED);
+  if (gibber_transport_get_state (transport) == GIBBER_TRANSPORT_CONNECTED)
+      {
+        g_object_set (self, "state", GIBBER_BYTESTREAM_STATE_OPEN,
+            NULL);
+      }
 
   return TRUE;
 }
diff --git a/lib/gibber/gibber-transport.h b/lib/gibber/gibber-transport.h
index 9a8e895..2455a37 100644
--- a/lib/gibber/gibber-transport.h
+++ b/lib/gibber/gibber-transport.h
@@ -97,11 +97,11 @@ void gibber_transport_received_data_custom (GibberTransport *transport,
 void gibber_transport_set_state (GibberTransport *transport,
     GibberTransportState state);
 
-GibberTransportState gibber_transport_get_state (GibberTransport *transport);
-
 void gibber_transport_emit_error (GibberTransport *transport, GError *error);
 
 /* Public api */
+GibberTransportState gibber_transport_get_state (GibberTransport *transport);
+
 gboolean gibber_transport_send (GibberTransport *transport, const guint8 *data,
     gsize size, GError **error);
 
-- 
1.5.6.5




More information about the Telepathy-commits mailing list