GLib.Object: Fixed FindClassProperty

g_object_class_find_property takes a GObjectClass which can be retrieved by
reading an IntPtr from the GObject's Handle
This commit is contained in:
Stephan Sundermann 2013-10-11 11:13:08 +02:00
parent 9b9512a3ce
commit f978c8f705

View File

@ -449,11 +449,11 @@ namespace GLib {
[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)] [DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
static extern IntPtr g_object_class_find_property (IntPtr klass, IntPtr name); static extern IntPtr g_object_class_find_property (IntPtr klass, IntPtr name);
static IntPtr FindClassProperty (GType type, string name) static IntPtr FindClassProperty (GLib.Object o, string name)
{ {
IntPtr g_class = type.GetClassPtr (); IntPtr gobjectclass = Marshal.ReadIntPtr (o.Handle);
IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name); IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
return g_object_class_find_property (g_class, native_name); return g_object_class_find_property (gobjectclass, native_name);
} }
[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)] [DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]