Merge pull request #81 from knocte/properties_class_init

glib: install properties before class_init finishes
This commit is contained in:
Bertrand Lorentz 2013-10-22 12:34:45 -07:00
commit a4c42994e8

View File

@ -206,7 +206,6 @@ namespace GLib {
AddGInterfaces ();
gtype.EnsureClass (); //calls class_init
AddProperties ();
ConnectDefaultHandlers ();
InvokeTypeInitializers ();
AddInterfaceProperties ();
@ -242,6 +241,8 @@ namespace GLib {
foreach (GInterfaceAdapter adapter in adapters) {
InitializeProperties (adapter, gobject_class_handle);
}
AddProperties (gobject_class_handle);
}
private void InitializeProperties (GInterfaceAdapter adapter, IntPtr gobject_class_handle)
@ -288,12 +289,11 @@ namespace GLib {
HandlersOverriden = true;
}
void AddProperties ()
void AddProperties (IntPtr gobject_class_handle)
{
if (is_first_subclass) {
IntPtr declaring_class = gtype.GetClassPtr ();
ParamSpec pspec = new ParamSpec ("gtk-sharp-managed-instance", "", "", GType.Pointer, ParamFlags.Writable | ParamFlags.ConstructOnly);
g_object_class_install_property (declaring_class, idx, pspec.Handle);
g_object_class_install_property (gobject_class_handle, idx, pspec.Handle);
idx++;
}