summaryrefslogtreecommitdiff
path: root/telepathy-glib
diff options
context:
space:
mode:
authorGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2011-10-12 18:43:01 -0400
committerGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2011-10-12 18:46:06 -0400
commitfea8294ac39d066738914849619a48f7be6d4ab5 (patch)
treea78e80224576f4563a2e569808ae50161f8d2a85 /telepathy-glib
parent5dd6de2e21f672009ce064cc7d7aeb1ea64741ee (diff)
TpChannel: don't rely on introspection queue to add the iface ID of the type
tp-glib uses to rely on its introspection queue to add the interface ID of its channel type even when the type was already known during construction (which is basically alway the case now as we always pass the immutable properties when creating a TpChannel). This was forcing TpChannel subclasses to have a CORE feature to connect signals on their channel type interface for no good reason. https://bugs.freedesktop.org/show_bug.cgi?id=41729
Diffstat (limited to 'telepathy-glib')
-rw-r--r--telepathy-glib/channel.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/telepathy-glib/channel.c b/telepathy-glib/channel.c
index 236bb6ba..b407bfd2 100644
--- a/telepathy-glib/channel.c
+++ b/telepathy-glib/channel.c
@@ -550,6 +550,9 @@ _tp_channel_maybe_set_channel_type (TpChannel *self,
g_hash_table_insert (self->priv->channel_properties,
g_strdup (TP_PROP_CHANNEL_CHANNEL_TYPE),
tp_g_value_slice_new_static_string (g_quark_to_string (q)));
+
+ tp_proxy_add_interface_by_id ((TpProxy *) self,
+ self->priv->channel_type);
}
@@ -879,9 +882,6 @@ tp_channel_got_channel_type_cb (TpChannel *self,
_tp_channel_maybe_set_channel_type (self, channel_type);
g_object_notify ((GObject *) self, "channel-type");
- tp_proxy_add_interface_by_id ((TpProxy *) self,
- self->priv->channel_type);
-
_tp_channel_continue_introspection (self);
}
else
@@ -906,8 +906,6 @@ _tp_channel_get_channel_type (TpChannel *self)
{
DEBUG ("%p: channel type %s already determined", self,
g_quark_to_string (self->priv->channel_type));
- tp_proxy_add_interface_by_id ((TpProxy *) self,
- self->priv->channel_type);
_tp_channel_continue_introspection (self);
}
}