[Telepathy] [Bug 13896] "invalid property" warning when requesting a channel
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Wed Jan 2 13:34:08 PST 2008
http://bugs.freedesktop.org/show_bug.cgi?id=13896
------- Comment #1 from muadda at gmail.com 2008-01-02 13:34 PST -------
Contrary to what I said, the warning also appear on previous versions, and with
online contacts.
The object gabble_im_channel_class contains 5 properties: connection,
object-path, handle, channel-type and handle-type. But only 3 are initialized
here:
im-factory.c:new_im_channel():
chan = g_object_new (GABBLE_TYPE_IM_CHANNEL,
"connection", priv->conn,
"object-path", object_path,
"handle", handle,
NULL);
g_object_new() calls the constructor with properties as parameters:
gabble-im-channel.c:gabble_im_channel_constructor():
gabble_im_channel_constructor (GType type, guint n_props,
GObjectConstructParam *props)
{
[...]
obj = G_OBJECT_CLASS (gabble_im_channel_parent_class)->
constructor (type, n_props, props);
However, the constructor receives values for all 5 properties, and not only the
3 from g_object_new(), because according to (*), construction parameters which
are not explicitly specified are set to their default values.
(*)
http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-new
The warning can be removed with:
--- old-telepathy-gabble-cassidy/src/gabble-im-channel.c 2008-01-02
22:24:50.000000000 +0100
+++ new-telepathy-gabble-cassidy/src/gabble-im-channel.c 2008-01-02
22:24:50.000000000 +0100
@@ -180,6 +180,12 @@
g_free (priv->object_path);
priv->object_path = g_value_dup_string (value);
break;
+ case PROP_CHANNEL_TYPE:
+ /* The channel type is a constant: TP_IFACE_CHANNEL_TYPE_TEXT and must
+ * not be changed. However, g_object_new() set all properties, so we get
+ * called to change the property PROP_CHANNEL_TYPE.
+ */
+ break;
case PROP_HANDLE:
/* we don't ref it here because we don't necessarily have access to the
* contact repo yet - instead we ref it in the constructor.
--
Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
More information about the Telepathy
mailing list