mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-09-27 17:52:58 +02:00
invoke GObjectClass.constructed() only for newly constructed objects, and
Tue Apr 3 12:34:14 2007 Tim Janik <timj@gtk.org> * gobject.[hc]: invoke GObjectClass.constructed() only for newly constructed objects, and invoke it while the notify queue is still being frozen, after all CONSTRUCT* properties have been set and before random other properties are being set. * applied modified patch from Ryan Lortie to implement GObjectClass.constructed() to fix #425324. 2007-04-02 Ryan Lortie <desrt@desrt.ca> * gobject/gobject.h: Add 'constructed' vcall to GObjectClass. * gobject/gobject.c (g_object_newv): call ->constructed() as last step of object construction. svn path=/trunk/; revision=5441
This commit is contained in:
@@ -87,10 +87,11 @@ struct _GObjectClass
|
||||
GSList *construct_properties;
|
||||
|
||||
/*< public >*/
|
||||
/* overridable methods */
|
||||
/* seldomly overidden */
|
||||
GObject* (*constructor) (GType type,
|
||||
guint n_construct_properties,
|
||||
GObjectConstructParam *construct_properties);
|
||||
/* overridable methods */
|
||||
void (*set_property) (GObject *object,
|
||||
guint property_id,
|
||||
const GValue *value,
|
||||
@@ -101,18 +102,20 @@ struct _GObjectClass
|
||||
GParamSpec *pspec);
|
||||
void (*dispose) (GObject *object);
|
||||
void (*finalize) (GObject *object);
|
||||
|
||||
/* seldomly overidden */
|
||||
void (*dispatch_properties_changed) (GObject *object,
|
||||
guint n_pspecs,
|
||||
GParamSpec **pspecs);
|
||||
|
||||
/* signals */
|
||||
void (*notify) (GObject *object,
|
||||
GParamSpec *pspec);
|
||||
|
||||
/* called when done constructing */
|
||||
void (*constructed) (GObject *object);
|
||||
|
||||
/*< private >*/
|
||||
/* padding */
|
||||
gpointer pdummy[8];
|
||||
gpointer pdummy[7];
|
||||
};
|
||||
struct _GObjectConstructParam
|
||||
{
|
||||
|
Reference in New Issue
Block a user