Hello,
I am new
to Glib and have been working through constructing an object. I have an object
working, but am having issues with the properties. I have the properties working
(kind of), but some things don't make sense to me and was hoping someone could
explain.
I have
searched the web and mailing list archives, but can only find data circa 2004 or
less and am not really sure if it still pertains today.
Currently, I can get/set properties no problem. The
issues I am having pertain to how to trap errors during object construction for
CONSTRUCT_ONLY properties. If I have a property with flags set
to:
G_PARAM_CONSTRUCT_ONLY |
G_PARAM_READWRITE
then I
supposedly can only set the property while calling g_object_new(). This is only
kind of true. If I attempt to set the property after g_object_new() is called,
Glib simply emits a warning, but still allows the property to be set. Actually,
this is only true if I call g_object_set_property() within my xxx_set_property()
function. The problem is g_object_set_property() returns void so I have no way
to catch errors (i.e. property set outside of a
constructor).
How can
CONSTRUCT_ONLY actually be enforced and not emit warnings to stdout/stderr? From
what I can tell, I can't even write my own code to do this since I have no
access to the static global 'pspec_pool' and the GParamSpec passed to my
xxx_set_property() function after construct is NULL (incidentally it seems to
always be NULL after the object is constructed even without CONSTRUCT_ONLY set
in flags).
Thanks
for any insight as to why this all works like this and any advice on enforcing
policies.
Shay
_______________________________________________ gtk-list@xxxxxxxxx http://mail.gnome.org/mailman/listinfo/gtk-list