diff options
author | Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> | 2011-10-12 18:43:01 -0400 |
---|---|---|
committer | Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> | 2011-10-12 18:46:06 -0400 |
commit | fea8294ac39d066738914849619a48f7be6d4ab5 (patch) | |
tree | a78e80224576f4563a2e569808ae50161f8d2a85 /telepathy-glib | |
parent | 5dd6de2e21f672009ce064cc7d7aeb1ea64741ee (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.c | 8 |
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); } } |