]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
pango: Fix PangoAttrShape and PangoAttrDataCopyFunc bindings
authorAlexander Larsson <alexl@redhat.com>
Tue, 28 Jun 2011 12:14:21 +0000 (14:14 +0200)
committerLuca Bruno <lucabru@src.gnome.org>
Tue, 28 Jun 2011 12:28:07 +0000 (14:28 +0200)
Fixes bug 653528.

vapi/packages/pango/pango.metadata
vapi/pango.vapi

index ae10daeef2283f3300fe5e648f61200668f9535a..cf10a7b6944a9484793dffc39c54bbcf9bddc362 100644 (file)
@@ -18,7 +18,15 @@ pango_attr_list_insert.attr transfer_ownership="1"
 pango_attr_list_insert_before.attr transfer_ownership="1"
 PangoAttrLanguage base_class="PangoAttribute" free_function="pango_attribute_destroy"
 PangoAttrLanguage.attr hidden="1"
-PangoAttrShape base_class="PangoAttribute" free_function="pango_attribute_destroy"
+PangoAttrShape base_class="PangoAttribute" free_function="pango_attribute_destroy" type_parameters="T"
+PangoAttrShape.data type_name="T"
+PangoAttrShape.copy_func type_arguments="T"
+pango_attr_shape_new_with_data simple_generics="1"
+pango_attr_shape_new_with_data.data type_name="T" transfer_ownership="1"
+pango_attr_shape_new_with_data.copy_func type_arguments="T"
+pango_attr_shape_new_with_data.destroy_func hidden="1"
+PangoAttrDataCopyFunc type_parameters="T" type_name="T" transfer_ownership="1" has_target="0"
+PangoAttrDataCopyFunc.data hidden="0" type_name="T"
 PangoAttrSize.attr hidden="1"
 PangoAttrSize base_class="PangoAttribute" free_function="pango_attribute_destroy"
 PangoAttrSize.attr hidden="1"
index 8d183a98f212bea26194f000e12da55b8e276d1a..0cead929a5bd8a08b17fac276dddbc96ce9d812b 100644 (file)
@@ -28,24 +28,24 @@ namespace Pango {
                public Pango.AttrType type;
        }
        [Compact]
-       [CCode (free_function = "pango_attribute_destroy", cheader_filename = "pango/pango.h")]
+       [CCode (cheader_filename = "pango/pango.h")]
        public class AttrColor : Pango.Attribute {
                public Pango.Color color;
        }
        [Compact]
-       [CCode (free_function = "pango_attribute_destroy", cheader_filename = "pango/pango.h")]
+       [CCode (cheader_filename = "pango/pango.h")]
        public class AttrFloat : Pango.Attribute {
                public double value;
        }
        [Compact]
-       [CCode (free_function = "pango_attribute_destroy", cheader_filename = "pango/pango.h")]
+       [CCode (cheader_filename = "pango/pango.h")]
        public class AttrFontDesc : Pango.Attribute {
                public weak Pango.FontDescription desc;
                [CCode (type = "PangoAttribute*", has_construct_function = false)]
                public AttrFontDesc (Pango.FontDescription desc);
        }
        [Compact]
-       [CCode (free_function = "pango_attribute_destroy", cheader_filename = "pango/pango.h")]
+       [CCode (cheader_filename = "pango/pango.h")]
        public class AttrInt : Pango.Attribute {
                public int value;
        }
@@ -60,7 +60,7 @@ namespace Pango {
                public void range (out int start, out int end);
        }
        [Compact]
-       [CCode (free_function = "pango_attribute_destroy", cheader_filename = "pango/pango.h")]
+       [CCode (cheader_filename = "pango/pango.h")]
        public class AttrLanguage : Pango.Attribute {
                public weak Pango.Language value;
                [CCode (type = "PangoAttribute*", has_construct_function = false)]
@@ -80,21 +80,21 @@ namespace Pango {
                public void splice (Pango.AttrList other, int pos, int len);
        }
        [Compact]
-       [CCode (free_function = "pango_attribute_destroy", cheader_filename = "pango/pango.h")]
-       public class AttrShape : Pango.Attribute {
+       [CCode (cheader_filename = "pango/pango.h")]
+       public class AttrShape<T> : Pango.Attribute {
                public weak Pango.Attribute attr;
-               public weak Pango.AttrDataCopyFunc copy_func;
-               public void* data;
+               public weak Pango.AttrDataCopyFunc<T> copy_func;
+               public T data;
                public weak GLib.DestroyNotify destroy_func;
                public Pango.Rectangle ink_rect;
                public Pango.Rectangle logical_rect;
                [CCode (type = "PangoAttribute*", has_construct_function = false)]
                public AttrShape (Pango.Rectangle ink_rect, Pango.Rectangle logical_rect);
-               [CCode (type = "PangoAttribute*", has_construct_function = false)]
-               public AttrShape.with_data (Pango.Rectangle ink_rect, Pango.Rectangle logical_rect, void* data, Pango.AttrDataCopyFunc copy_func, GLib.DestroyNotify destroy_func);
+               [CCode (type = "PangoAttribute*", simple_generics = true, has_construct_function = false)]
+               public AttrShape.with_data (Pango.Rectangle ink_rect, Pango.Rectangle logical_rect, owned T data, Pango.AttrDataCopyFunc<T> copy_func);
        }
        [Compact]
-       [CCode (free_function = "pango_attribute_destroy", cheader_filename = "pango/pango.h")]
+       [CCode (cheader_filename = "pango/pango.h")]
        public class AttrSize : Pango.Attribute {
                public uint absolute;
                public int size;
@@ -102,7 +102,7 @@ namespace Pango {
                public AttrSize (int size);
        }
        [Compact]
-       [CCode (free_function = "pango_attribute_destroy", cheader_filename = "pango/pango.h")]
+       [CCode (cheader_filename = "pango/pango.h")]
        public class AttrString : Pango.Attribute {
                public weak string value;
        }
@@ -827,8 +827,8 @@ namespace Pango {
                CHAR,
                WORD_CHAR
        }
-       [CCode (cheader_filename = "pango/pango.h")]
-       public delegate void* AttrDataCopyFunc ();
+       [CCode (cheader_filename = "pango/pango.h", has_target = false)]
+       public delegate T AttrDataCopyFunc<T> (T data);
        [CCode (cheader_filename = "pango/pango.h")]
        public delegate bool AttrFilterFunc (Pango.Attribute attribute);
        [CCode (cheader_filename = "pango/pango.h")]