[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