[telepathy-mission-control/master] McdClientProxy: disentangle "ready" from "unique name known" and the beginning of introspection
Simon McVittie
simon.mcvittie at collabora.co.uk
Tue Sep 22 09:50:03 PDT 2009
---
src/mcd-client.c | 24 +++++++++---------------
1 files changed, 9 insertions(+), 15 deletions(-)
diff --git a/src/mcd-client.c b/src/mcd-client.c
index 74b2a4c..6fafd1a 100644
--- a/src/mcd-client.c
+++ b/src/mcd-client.c
@@ -64,6 +64,7 @@ struct _McdClientProxyPrivate
TpHandleSet *capability_tokens;
gchar *unique_name;
+ gboolean introspect_started;
gboolean ready;
gboolean bypass_approval;
@@ -508,7 +509,6 @@ gboolean
_mcd_client_proxy_is_active (McdClientProxy *self)
{
g_return_val_if_fail (MCD_IS_CLIENT_PROXY (self), FALSE);
- g_return_val_if_fail (self->priv->ready, FALSE);
return self->priv->unique_name != NULL &&
self->priv->unique_name[0] != '\0';
@@ -518,7 +518,6 @@ gboolean
_mcd_client_proxy_is_activatable (McdClientProxy *self)
{
g_return_val_if_fail (MCD_IS_CLIENT_PROXY (self), FALSE);
- g_return_val_if_fail (self->priv->ready, FALSE);
return self->priv->activatable;
}
@@ -527,22 +526,10 @@ const gchar *
_mcd_client_proxy_get_unique_name (McdClientProxy *self)
{
g_return_val_if_fail (MCD_IS_CLIENT_PROXY (self), NULL);
- g_return_val_if_fail (self->priv->ready, NULL);
return self->priv->unique_name;
}
-static void
-mcd_client_proxy_emit_ready (McdClientProxy *self)
-{
- if (self->priv->ready)
- return;
-
- self->priv->ready = TRUE;
-
- g_signal_emit (self, signals[S_UNIQUE_NAME_KNOWN], 0);
-}
-
gboolean
_mcd_client_proxy_set_handler_properties (McdClientProxy *self,
GHashTable *properties,
@@ -653,7 +640,14 @@ _mcd_client_proxy_parse_client_file (McdClientProxy *self)
static gboolean
mcd_client_proxy_introspect (gpointer data)
{
- mcd_client_proxy_emit_ready (data);
+ McdClientProxy *self = data;
+
+ if (!self->priv->introspect_started)
+ {
+ self->priv->introspect_started = TRUE;
+ g_signal_emit (self, signals[S_UNIQUE_NAME_KNOWN], 0);
+ }
+
return FALSE;
}
--
1.5.6.5
More information about the telepathy-commits
mailing list