Gst.Object: Fixed property existance check
authorStephan Sundermann <stephansundermann@gmail.com>
Thu, 10 Oct 2013 20:52:33 +0000 (22:52 +0200)
committerStephan Sundermann <stephansundermann@gmail.com>
Sat, 21 Dec 2013 15:52:21 +0000 (16:52 +0100)
g_object_class_find_property's return value does not need to be freed
and needs a GObjectClass*

sources/custom/Object.cs

index 1339002..a9ddaa6 100644 (file)
@@ -28,14 +28,12 @@ namespace Gst {
                [DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
                static extern IntPtr g_object_class_find_property (IntPtr klass, IntPtr name);
 
-
                bool PropertyExists (string name) {
                        if (PropertyNameCache.ContainsKey (name))
                                return PropertyNameCache [name];
 
-                       var ptr = g_object_class_find_property (GType.GetClassPtr (), GLib.Marshaller.StringToPtrGStrdup (name));
+                       var ptr = g_object_class_find_property (Marshal.ReadIntPtr (Handle), GLib.Marshaller.StringToPtrGStrdup (name));
                        var result = ptr != IntPtr.Zero;
-                       GLib.Marshaller.Free (ptr);
 
                        // just cache the positive results because there might
                        // actually be new properties getting installed