[gobject] set all properties before constructed()

Move the constructed() call to happen after all of the properties are
set (not just the construct properties).

This is an incompatible change but we are making it under the belief
that it should be safe.  If this change impacts you in a negative way
please comment on the bug.

https://bugzilla.gnome.org/show_bug.cgi?id=685733
This commit is contained in:
Ryan Lortie 2012-10-08 11:40:00 -04:00
parent 8fd75705f4
commit 028d4a03f2

View File

@ -1741,15 +1741,15 @@ g_object_newv (GType object_type,
g_object_notify_queue_thaw (object, nqueue);
}
/* run 'constructed' handler if there is a custom one */
if (newly_constructed && CLASS_HAS_CUSTOM_CONSTRUCTED (class))
class->constructed (object);
/* set remaining properties */
for (i = 0; i < n_oparams; i++)
object_set_property (object, oparams[i].pspec, oparams[i].value, nqueue);
g_free (oparams);
/* run 'constructed' handler if there is a custom one */
if (newly_constructed && CLASS_HAS_CUSTOM_CONSTRUCTED (class))
class->constructed (object);
if (CLASS_HAS_PROPS (class))
{
/* release our own freeze count and handle notifications */