[Telepathy-commits] [telepathy-gabble/master] tube-dbus: check if the tube has already be offered when getting its state
Guillaume Desmottes
guillaume.desmottes at collabora.co.uk
Tue Feb 3 03:36:26 PST 2009
---
src/tube-dbus.c | 13 ++++++++++++-
1 files changed, 12 insertions(+), 1 deletions(-)
diff --git a/src/tube-dbus.c b/src/tube-dbus.c
index ce6cafb..47f9957 100644
--- a/src/tube-dbus.c
+++ b/src/tube-dbus.c
@@ -168,6 +168,8 @@ struct _GabbleTubeDBusPrivate
/* Number of bytes that will be in the next message, 0 if unknown */
guint32 reassembly_bytes_needed;
+ /* TRUE if we initiated this tube and it has not been offered yet */
+ gboolean has_to_be_offered;
gboolean closed;
gboolean dispose_has_run;
@@ -647,7 +649,10 @@ gabble_tube_dbus_get_property (GObject *object,
g_value_set_boxed (value, priv->parameters);
break;
case PROP_STATE:
- g_value_set_uint (value, get_tube_state (self));
+ if (priv->has_to_be_offered)
+ g_value_set_uint (value, GABBLE_TUBE_CHANNEL_STATE_NOT_OFFERED);
+ else
+ g_value_set_uint (value, get_tube_state (self));
break;
case PROP_DBUS_ADDRESS:
g_value_set_string (value, priv->dbus_srv_addr);
@@ -874,6 +879,12 @@ gabble_tube_dbus_constructor (GType type,
priv->reassembly_bytes_needed = 0;
}
+ if (priv->initiator == priv->self_handle)
+ {
+ /* We initiatied this tube and it has not been offered yet */
+ priv->has_to_be_offered = TRUE;
+ }
+
return obj;
}
--
1.5.6.5
More information about the telepathy-commits
mailing list