From: Ryan Lortie Date: Mon, 8 Oct 2012 15:40:00 +0000 (-0400) Subject: [gobject] set all properties before constructed() X-Git-Tag: 2.35.1~32 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=028d4a03f2baa7ca9243a2819f30ffb0d5e137d7;p=platform%2Fupstream%2Fglib.git [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 --- diff --git a/gobject/gobject.c b/gobject/gobject.c index 79c0401..5f60dd6 100644 --- a/gobject/gobject.c +++ b/gobject/gobject.c @@ -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 */