diff options
author | Simon McVittie <simon.mcvittie@collabora.co.uk> | 2014-03-13 15:01:32 +0000 |
---|---|---|
committer | Simon McVittie <simon.mcvittie@collabora.co.uk> | 2014-03-17 16:31:17 +0000 |
commit | 3523c9d7033160961f8a21607ca35f63f2e06c00 (patch) | |
tree | 70cbfc23fb27b9f885508bc5249ec93baf4b24c7 | |
parent | dbc0d9546368f9b4375789c5903138c2460590de (diff) |
tp_proxy_emit_invalidated: inline into its only caller
It no longer needs to run in an idle.
-rw-r--r-- | telepathy-glib/proxy.c | 37 |
1 files changed, 13 insertions, 24 deletions
diff --git a/telepathy-glib/proxy.c b/telepathy-glib/proxy.c index ab3cb57a1..f696d13e6 100644 --- a/telepathy-glib/proxy.c +++ b/telepathy-glib/proxy.c @@ -548,29 +548,6 @@ tp_proxy_has_interface (gpointer self, static void tp_proxy_poll_features (TpProxy *self, const GError *error); -/* This signature is chosen to match GSourceFunc */ -static gboolean -tp_proxy_emit_invalidated (gpointer p) -{ - TpProxy *self = TP_PROXY (p); - - g_signal_emit (self, signals[SIGNAL_INVALIDATED], 0, - self->priv->invalidated->domain, self->priv->invalidated->code, - self->priv->invalidated->message); - - /* make all pending tp_proxy_prepare_async calls fail */ - tp_proxy_poll_features (self, NULL); - g_assert_cmpuint (g_queue_get_length (self->priv->prepare_requests), ==, 0); - - /* Don't clear the datalist until after we've emitted the signal, so - * the pending call and signal connection friend classes can still get - * to the proxies */ - g_datalist_clear (&self->priv->interfaces); - g_clear_object (&self->priv->dbus_connection); - - return FALSE; -} - /** * tp_proxy_invalidate: * @self: a proxy @@ -613,7 +590,19 @@ tp_proxy_invalidate (TpProxy *self, const GError *error) self->priv->gdbus_closed_signal = 0; } - tp_proxy_emit_invalidated (self); + g_signal_emit (self, signals[SIGNAL_INVALIDATED], 0, + self->priv->invalidated->domain, self->priv->invalidated->code, + self->priv->invalidated->message); + + /* make all pending tp_proxy_prepare_async calls fail */ + tp_proxy_poll_features (self, NULL); + g_assert_cmpuint (g_queue_get_length (self->priv->prepare_requests), ==, 0); + + /* Don't clear the datalist until after we've emitted the signal, so + * the pending call and signal connection friend classes can still get + * to the proxies */ + g_datalist_clear (&self->priv->interfaces); + g_clear_object (&self->priv->dbus_connection); } static void |