detect out parameters of value types, add support for array return types
authorJuerg Billeter <j@bitron.ch>
Tue, 20 Nov 2007 21:24:46 +0000 (21:24 +0000)
committerJürg Billeter <juergbi@src.gnome.org>
Tue, 20 Nov 2007 21:24:46 +0000 (21:24 +0000)
2007-11-20  Juerg Billeter  <j@bitron.ch>

* vapigen/valagidlparser.vala: detect out parameters of value types, add
  support for array return types

* vapi/packages/gtk+-2.0/gtk+-2.0.metadata: set is_array for return
  value of gtk_tree_path_get_indices

* vapi/atk.vapi, vapi/gconf-2.0.vapi, vapi/gdk-2.0.vapi,
  vapi/gio-2.0.vapi, vapi/gtk+-2.0.vapi, vapi/pango.vapi: regenerated

svn path=/trunk/; revision=689

ChangeLog
vapi/atk.vapi
vapi/gconf-2.0.vapi
vapi/gdk-2.0.vapi
vapi/gio-2.0.vapi
vapi/gtk+-2.0.vapi
vapi/packages/gtk+-2.0/gtk+-2.0.metadata
vapi/pango.vapi
vapigen/valagidlparser.vala

index 64c17e2..d286d11 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2007-11-20  Jürg Billeter  <j@bitron.ch>
+
+       * vapigen/valagidlparser.vala: detect out parameters of value types, add
+         support for array return types
+
+       * vapi/packages/gtk+-2.0/gtk+-2.0.metadata: set is_array for return
+         value of gtk_tree_path_get_indices
+
+       * vapi/atk.vapi, vapi/gconf-2.0.vapi, vapi/gdk-2.0.vapi,
+         vapi/gio-2.0.vapi, vapi/gtk+-2.0.vapi, vapi/pango.vapi: regenerated
+
 2007-11-16  Jürg Billeter  <j@bitron.ch>
 
        * tests/property-sample.vala: remove invalid property definitions
index 1b99319..a6d5d65 100644 (file)
@@ -578,7 +578,7 @@ namespace Atk {
                public static weak string attribute_get_name (Atk.TextAttribute attr);
                public static weak string attribute_get_value (Atk.TextAttribute attr, int index_);
                public static Atk.TextAttribute attribute_register (string name);
-               public static void free_ranges (Atk.TextRange ranges);
+               public static void free_ranges (out Atk.TextRange ranges);
                public abstract weak Atk.TextRange get_bounded_ranges (Atk.TextRectangle rect, Atk.CoordType coord_type, Atk.TextClipType x_clip_type, Atk.TextClipType y_clip_type);
                public abstract int get_caret_offset ();
                public abstract unichar get_character_at_offset (int offset);
index 708cfca..8339a14 100644 (file)
@@ -198,7 +198,7 @@ namespace GConf {
        }
        [CCode (ref_function = "gconf_change_set_ref", unref_function = "gconf_change_set_unref", cheader_filename = "gconf/gconf.h")]
        public class ChangeSet : GLib.Boxed {
-               public bool check_value (string key, GConf.Value value_retloc);
+               public bool check_value (string key, out GConf.Value value_retloc);
                public void clear ();
                public void @foreach (GConf.ChangeSetForeachFunc func, pointer user_data);
                public pointer get_user_data ();
index 5c39667..fa59e45 100644 (file)
@@ -1175,7 +1175,7 @@ namespace Gdk {
                public void get_maximal_cursor_size (uint width, uint height);
                public virtual int get_n_screens ();
                public weak string get_name ();
-               public void get_pointer (Gdk.Screen screen, int x, int y, Gdk.ModifierType mask);
+               public void get_pointer (out Gdk.Screen screen, int x, int y, Gdk.ModifierType mask);
                public virtual weak Gdk.Screen get_screen (int screen_num);
                public weak Gdk.Window get_window_at_pointer (int win_x, int win_y);
                public void keyboard_ungrab (uint time_);
@@ -1312,7 +1312,7 @@ namespace Gdk {
                public weak Gdk.Display display;
                public static weak Gdk.Keymap get_default ();
                public Pango.Direction get_direction ();
-               public bool get_entries_for_keycode (uint hardware_keycode, Gdk.KeymapKey keys, uint keyvals, int n_entries);
+               public bool get_entries_for_keycode (uint hardware_keycode, out Gdk.KeymapKey keys, uint keyvals, int n_entries);
                [NoArrayLength]
                public bool get_entries_for_keyval (uint keyval, Gdk.KeymapKey[] keys, int n_keys);
                public static weak Gdk.Keymap get_for_display (Gdk.Display display);
@@ -1371,8 +1371,8 @@ namespace Gdk {
                public Pixbuf.from_xpm_data (string[] data);
                public Pixbuf.subpixbuf (Gdk.Pixbuf src_pixbuf, int src_x, int src_y, int width, int height);
                public weak Gdk.Pixbuf @ref ();
-               public void render_pixmap_and_mask (Gdk.Pixmap pixmap_return, Gdk.Bitmap mask_return, int alpha_threshold);
-               public void render_pixmap_and_mask_for_colormap (Gdk.Colormap colormap, Gdk.Pixmap pixmap_return, Gdk.Bitmap mask_return, int alpha_threshold);
+               public void render_pixmap_and_mask (out Gdk.Pixmap pixmap_return, out Gdk.Bitmap mask_return, int alpha_threshold);
+               public void render_pixmap_and_mask_for_colormap (Gdk.Colormap colormap, out Gdk.Pixmap pixmap_return, out Gdk.Bitmap mask_return, int alpha_threshold);
                public void render_threshold_alpha (Gdk.Bitmap bitmap, int src_x, int src_y, int dest_x, int dest_y, int width, int height, int alpha_threshold);
                public void render_to_drawable (Gdk.Drawable drawable, Gdk.GC gc, int src_x, int src_y, int dest_x, int dest_y, int width, int height, Gdk.RgbDither dither, int x_dither, int y_dither);
                public void render_to_drawable_alpha (Gdk.Drawable drawable, int src_x, int src_y, int dest_x, int dest_y, int width, int height, Gdk.PixbufAlphaMode alpha_mode, int alpha_threshold, Gdk.RgbDither dither, int x_dither, int y_dither);
@@ -1451,11 +1451,11 @@ namespace Gdk {
        }
        [CCode (cheader_filename = "gdk/gdk.h")]
        public class Pixmap : Gdk.Drawable {
-               public static weak Gdk.Pixmap colormap_create_from_xpm (Gdk.Drawable drawable, Gdk.Colormap colormap, Gdk.Bitmap mask, out Gdk.Color transparent_color, string filename);
-               public static weak Gdk.Pixmap colormap_create_from_xpm_d (Gdk.Drawable drawable, Gdk.Colormap colormap, Gdk.Bitmap mask, out Gdk.Color transparent_color, string data);
+               public static weak Gdk.Pixmap colormap_create_from_xpm (Gdk.Drawable drawable, Gdk.Colormap colormap, out Gdk.Bitmap mask, out Gdk.Color transparent_color, string filename);
+               public static weak Gdk.Pixmap colormap_create_from_xpm_d (Gdk.Drawable drawable, Gdk.Colormap colormap, out Gdk.Bitmap mask, out Gdk.Color transparent_color, string data);
                public static weak Gdk.Pixmap create_from_data (Gdk.Drawable drawable, string data, int width, int height, int depth, out Gdk.Color fg, out Gdk.Color bg);
-               public static weak Gdk.Pixmap create_from_xpm (Gdk.Drawable drawable, Gdk.Bitmap mask, out Gdk.Color transparent_color, string filename);
-               public static weak Gdk.Pixmap create_from_xpm_d (Gdk.Drawable drawable, Gdk.Bitmap mask, out Gdk.Color transparent_color, string data);
+               public static weak Gdk.Pixmap create_from_xpm (Gdk.Drawable drawable, out Gdk.Bitmap mask, out Gdk.Color transparent_color, string filename);
+               public static weak Gdk.Pixmap create_from_xpm_d (Gdk.Drawable drawable, out Gdk.Bitmap mask, out Gdk.Color transparent_color, string data);
                public static weak Gdk.Pixmap foreign_new (pointer anid);
                public static weak Gdk.Pixmap foreign_new_for_display (Gdk.Display display, pointer anid);
                public static weak Gdk.Pixmap foreign_new_for_screen (Gdk.Screen screen, pointer anid, int width, int height, int depth);
@@ -1566,7 +1566,7 @@ namespace Gdk {
                public void get_frame_extents (out Gdk.Rectangle rect);
                public void get_geometry (int x, int y, int width, int height, int depth);
                public weak Gdk.Window get_group ();
-               public void get_internal_paint_info (Gdk.Drawable real_drawable, int x_offset, int y_offset);
+               public void get_internal_paint_info (out Gdk.Drawable real_drawable, int x_offset, int y_offset);
                public int get_origin (int x, int y);
                public weak Gdk.Window get_parent ();
                public weak Gdk.Window get_pointer (int x, int y, Gdk.ModifierType mask);
@@ -1741,8 +1741,8 @@ namespace Gdk {
        public static weak Gdk.DragContext drag_begin (Gdk.Window window, GLib.List targets);
        public static void drag_drop (Gdk.DragContext context, uint time_);
        public static bool drag_drop_succeeded (Gdk.DragContext context);
-       public static void drag_find_window (Gdk.DragContext context, Gdk.Window drag_window, int x_root, int y_root, Gdk.Window dest_window, Gdk.DragProtocol protocol);
-       public static void drag_find_window_for_screen (Gdk.DragContext context, Gdk.Window drag_window, Gdk.Screen screen, int x_root, int y_root, Gdk.Window dest_window, Gdk.DragProtocol protocol);
+       public static void drag_find_window (Gdk.DragContext context, Gdk.Window drag_window, int x_root, int y_root, out Gdk.Window dest_window, Gdk.DragProtocol protocol);
+       public static void drag_find_window_for_screen (Gdk.DragContext context, Gdk.Window drag_window, Gdk.Screen screen, int x_root, int y_root, out Gdk.Window dest_window, Gdk.DragProtocol protocol);
        public static uint drag_get_protocol (uint xid, Gdk.DragProtocol protocol);
        public static uint drag_get_protocol_for_display (Gdk.Display display, uint xid, Gdk.DragProtocol protocol);
        public static Gdk.Atom drag_get_selection (Gdk.DragContext context);
@@ -1807,7 +1807,7 @@ namespace Gdk {
        public static void input_remove (int tag);
        public static void input_set_extension_events (Gdk.Window window, int mask, Gdk.ExtensionMode mode);
        public static Gdk.GrabStatus keyboard_grab (Gdk.Window window, bool owner_events, uint time_);
-       public static bool keyboard_grab_info_libgtk_only (Gdk.Display display, Gdk.Window grab_window, bool owner_events);
+       public static bool keyboard_grab_info_libgtk_only (Gdk.Display display, out Gdk.Window grab_window, bool owner_events);
        public static void keyboard_ungrab (uint time_);
        public static void keyval_convert_case (uint symbol, uint lower, uint upper);
        public static uint keyval_from_name (string keyval_name);
@@ -1828,7 +1828,7 @@ namespace Gdk {
        public static weak Gdk.Region pango_layout_line_get_clip_region (Pango.LayoutLine line, int x_origin, int y_origin, int index_ranges, int n_ranges);
        public static void parse_args (int argc, string argv);
        public static Gdk.GrabStatus pointer_grab (Gdk.Window window, bool owner_events, Gdk.EventMask event_mask, Gdk.Window confine_to, Gdk.Cursor cursor, uint time_);
-       public static bool pointer_grab_info_libgtk_only (Gdk.Display display, Gdk.Window grab_window, bool owner_events);
+       public static bool pointer_grab_info_libgtk_only (Gdk.Display display, out Gdk.Window grab_window, bool owner_events);
        public static bool pointer_is_grabbed ();
        public static void pointer_ungrab (uint time_);
        public static void pre_parse_libgtk_only ();
@@ -1838,7 +1838,7 @@ namespace Gdk {
        [NoArrayLength]
        public static bool property_get (Gdk.Window window, Gdk.Atom property, Gdk.Atom type, ulong offset, ulong length, int pdelete, out Gdk.Atom actual_property_type, int actual_format, int actual_length, uchar[] data);
        public static void query_depths (int depths, int count);
-       public static void query_visual_types (Gdk.VisualType visual_types, int count);
+       public static void query_visual_types (out Gdk.VisualType visual_types, int count);
        public static bool rgb_colormap_ditherable (Gdk.Colormap cmap);
        public static bool rgb_ditherable ();
        public static void rgb_find_color (Gdk.Colormap colormap, out Gdk.Color color);
index 1c6c978..f1c8393 100644 (file)
@@ -668,7 +668,7 @@ namespace GLib {
                public bool set_attribute_uint32 (string attribute, uint value, GLib.FileQueryInfoFlags flags, GLib.Cancellable cancellable) throws GLib.Error;
                public bool set_attribute_uint64 (string attribute, uint64 value, GLib.FileQueryInfoFlags flags, GLib.Cancellable cancellable) throws GLib.Error;
                public abstract void set_attributes_async (GLib.FileInfo info, GLib.FileQueryInfoFlags flags, int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback callback, pointer user_data);
-               public abstract bool set_attributes_finish (GLib.AsyncResult result, GLib.FileInfo info) throws GLib.Error;
+               public abstract bool set_attributes_finish (GLib.AsyncResult result, out GLib.FileInfo info) throws GLib.Error;
                public abstract bool set_attributes_from_info (GLib.FileInfo info, GLib.FileQueryInfoFlags flags, GLib.Cancellable cancellable) throws GLib.Error;
                public abstract weak GLib.File set_display_name (string display_name, GLib.Cancellable cancellable) throws GLib.Error;
                public abstract void set_display_name_async (string display_name, int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback callback, pointer user_data);
index 47cdb8b..45140d7 100644 (file)
@@ -953,7 +953,7 @@ namespace Gtk {
                public void class_path (uint path_length, string path, string path_reversed);
                public weak Pango.Context create_pango_context ();
                public weak Pango.Layout create_pango_layout (string text);
-               public void destroyed (Gtk.Widget widget_pointer);
+               public void destroyed (out Gtk.Widget widget_pointer);
                public void draw (out Gdk.Rectangle area);
                public void ensure_style ();
                public void error_bell ();
@@ -1309,8 +1309,8 @@ namespace Gtk {
                public weak GLib.List list;
                public static weak Gtk.Style get_cell_style (Gtk.CTree ctree, Gtk.CTreeNode node, int column);
                public static Gtk.CellType get_cell_type (Gtk.CTree ctree, Gtk.CTreeNode node, int column);
-               public static bool get_pixmap (Gtk.CTree ctree, Gtk.CTreeNode node, int column, Gdk.Pixmap pixmap, Gdk.Bitmap mask);
-               public static bool get_pixtext (Gtk.CTree ctree, Gtk.CTreeNode node, int column, string text, uchar spacing, Gdk.Pixmap pixmap, Gdk.Bitmap mask);
+               public static bool get_pixmap (Gtk.CTree ctree, Gtk.CTreeNode node, int column, out Gdk.Pixmap pixmap, out Gdk.Bitmap mask);
+               public static bool get_pixtext (Gtk.CTree ctree, Gtk.CTreeNode node, int column, string text, uchar spacing, out Gdk.Pixmap pixmap, out Gdk.Bitmap mask);
                public static pointer get_row_data (Gtk.CTree ctree, Gtk.CTreeNode node);
                public static weak Gtk.Style get_row_style (Gtk.CTree ctree, Gtk.CTreeNode node);
                public static bool get_selectable (Gtk.CTree ctree, Gtk.CTreeNode node);
@@ -1866,7 +1866,8 @@ namespace Gtk {
                public weak Gtk.TreePath copy ();
                public void down ();
                public int get_depth ();
-               public int get_indices ();
+               [NoArrayLength]
+               public weak int[] get_indices ();
                public bool is_ancestor (Gtk.TreePath descendant);
                public bool is_descendant (Gtk.TreePath ancestor);
                public TreePath ();
@@ -2360,8 +2361,8 @@ namespace Gtk {
                public weak string get_column_title (int column);
                public weak Gtk.Widget get_column_widget (int column);
                public weak Gtk.Adjustment get_hadjustment ();
-               public int get_pixmap (int row, int column, Gdk.Pixmap pixmap, Gdk.Bitmap mask);
-               public int get_pixtext (int row, int column, string text, uchar spacing, Gdk.Pixmap pixmap, Gdk.Bitmap mask);
+               public int get_pixmap (int row, int column, out Gdk.Pixmap pixmap, out Gdk.Bitmap mask);
+               public int get_pixtext (int row, int column, string text, uchar spacing, out Gdk.Pixmap pixmap, out Gdk.Bitmap mask);
                public pointer get_row_data (int row);
                public weak Gtk.Style get_row_style (int row);
                public bool get_selectable (int row);
@@ -2471,7 +2472,7 @@ namespace Gtk {
                public weak Gtk.CTreeNode find_by_row_data (Gtk.CTreeNode node, pointer data);
                public weak Gtk.CTreeNode find_by_row_data_custom (Gtk.CTreeNode node, pointer data, GLib.CompareFunc func);
                public weak Gtk.CTreeNode find_node_ptr (Gtk.CTreeRow ctree_row);
-               public bool get_node_info (Gtk.CTreeNode node, string text, uchar spacing, Gdk.Pixmap pixmap_closed, Gdk.Bitmap mask_closed, Gdk.Pixmap pixmap_opened, Gdk.Bitmap mask_opened, bool is_leaf, bool expanded);
+               public bool get_node_info (Gtk.CTreeNode node, string text, uchar spacing, out Gdk.Pixmap pixmap_closed, out Gdk.Bitmap mask_closed, out Gdk.Pixmap pixmap_opened, out Gdk.Bitmap mask_opened, bool is_leaf, bool expanded);
                public weak Gtk.CTreeNode insert_gnode (Gtk.CTreeNode parent, Gtk.CTreeNode sibling, GLib.Node gnode, Gtk.CTreeGNodeFunc func, pointer data);
                [NoArrayLength]
                public weak Gtk.CTreeNode insert_node (Gtk.CTreeNode parent, Gtk.CTreeNode sibling, string[] text, uchar spacing, Gdk.Pixmap pixmap_closed, Gdk.Bitmap mask_closed, Gdk.Pixmap pixmap_opened, Gdk.Bitmap mask_opened, bool is_leaf, bool expanded);
@@ -3572,7 +3573,7 @@ namespace Gtk {
                public virtual bool filter_keypress (Gdk.EventKey event);
                public virtual void focus_in ();
                public virtual void focus_out ();
-               public virtual void get_preedit_string (string str, Pango.AttrList attrs, int cursor_pos);
+               public virtual void get_preedit_string (string str, out Pango.AttrList attrs, int cursor_pos);
                public virtual bool get_surrounding (string text, int cursor_index);
                public virtual void reset ();
                public virtual void set_client_window (Gdk.Window window);
@@ -3651,10 +3652,10 @@ namespace Gtk {
                public void enable_model_drag_source (Gdk.ModifierType start_button_mask, Gtk.TargetEntry[] targets, int n_targets, Gdk.DragAction actions);
                public int get_column_spacing ();
                public int get_columns ();
-               public bool get_cursor (Gtk.TreePath path, Gtk.CellRenderer cell);
-               public bool get_dest_item_at_pos (int drag_x, int drag_y, Gtk.TreePath path, Gtk.IconViewDropPosition pos);
-               public void get_drag_dest_item (Gtk.TreePath path, Gtk.IconViewDropPosition pos);
-               public bool get_item_at_pos (int x, int y, Gtk.TreePath path, Gtk.CellRenderer cell);
+               public bool get_cursor (out Gtk.TreePath path, out Gtk.CellRenderer cell);
+               public bool get_dest_item_at_pos (int drag_x, int drag_y, out Gtk.TreePath path, Gtk.IconViewDropPosition pos);
+               public void get_drag_dest_item (out Gtk.TreePath path, Gtk.IconViewDropPosition pos);
+               public bool get_item_at_pos (int x, int y, out Gtk.TreePath path, out Gtk.CellRenderer cell);
                public int get_item_width ();
                public int get_margin ();
                public int get_markup_column ();
@@ -3669,8 +3670,8 @@ namespace Gtk {
                public int get_spacing ();
                public int get_text_column ();
                public int get_tooltip_column ();
-               public bool get_tooltip_context (int x, int y, bool keyboard_tip, Gtk.TreeModel model, Gtk.TreePath path, out Gtk.TreeIter iter);
-               public bool get_visible_range (Gtk.TreePath start_path, Gtk.TreePath end_path);
+               public bool get_tooltip_context (int x, int y, bool keyboard_tip, out Gtk.TreeModel model, out Gtk.TreePath path, out Gtk.TreeIter iter);
+               public bool get_visible_range (out Gtk.TreePath start_path, out Gtk.TreePath end_path);
                public IconView ();
                public IconView.with_model (Gtk.TreeModel model);
                public bool path_is_selected (Gtk.TreePath path);
@@ -3726,14 +3727,14 @@ namespace Gtk {
        [CCode (cheader_filename = "gtk/gtk.h")]
        public class Image : Gtk.Misc, Atk.Implementor, Gtk.Buildable {
                public void clear ();
-               public void get (Gdk.Image val, Gdk.Bitmap mask);
+               public void get (out Gdk.Image val, out Gdk.Bitmap mask);
                public weak Gdk.PixbufAnimation get_animation ();
                public void get_icon_name (string icon_name, Gtk.IconSize size);
-               public void get_icon_set (Gtk.IconSet icon_set, Gtk.IconSize size);
-               public void get_image (Gdk.Image gdk_image, Gdk.Bitmap mask);
+               public void get_icon_set (out Gtk.IconSet icon_set, Gtk.IconSize size);
+               public void get_image (out Gdk.Image gdk_image, out Gdk.Bitmap mask);
                public weak Gdk.Pixbuf get_pixbuf ();
                public int get_pixel_size ();
-               public void get_pixmap (Gdk.Pixmap pixmap, Gdk.Bitmap mask);
+               public void get_pixmap (out Gdk.Pixmap pixmap, out Gdk.Bitmap mask);
                public void get_stock (string stock_id, Gtk.IconSize size);
                public Gtk.ImageType get_storage_type ();
                public Image ();
@@ -4501,7 +4502,7 @@ namespace Gtk {
                public weak Gdk.Bitmap mask;
                public weak Gdk.Pixmap pixmap_insensitive;
                public uint build_insensitive;
-               public void get (Gdk.Pixmap val, Gdk.Bitmap mask);
+               public void get (out Gdk.Pixmap val, out Gdk.Bitmap mask);
                public Pixmap (Gdk.Pixmap pixmap, Gdk.Bitmap mask);
                public void set (Gdk.Pixmap val, Gdk.Bitmap mask);
                public void set_build_insensitive (bool build);
@@ -5262,7 +5263,7 @@ namespace Gtk {
        [CCode (cheader_filename = "gtk/gtk.h")]
        public class StatusIcon : GLib.Object {
                public bool get_blinking ();
-               public bool get_geometry (Gdk.Screen screen, out Gdk.Rectangle area, Gtk.Orientation orientation);
+               public bool get_geometry (out Gdk.Screen screen, out Gdk.Rectangle area, Gtk.Orientation orientation);
                public weak string get_icon_name ();
                public weak Gdk.Pixbuf get_pixbuf ();
                public weak Gdk.Screen get_screen ();
@@ -6020,7 +6021,7 @@ namespace Gtk {
                public void disable ();
                public void enable ();
                public void force_window ();
-               public static bool get_info_from_tip_window (Gtk.Window tip_window, Gtk.Tooltips tooltips, Gtk.Widget current_widget);
+               public static bool get_info_from_tip_window (Gtk.Window tip_window, out Gtk.Tooltips tooltips, out Gtk.Widget current_widget);
                public Tooltips ();
                public void set_delay (uint delay);
                public void set_tip (Gtk.Widget widget, string tip_text, string tip_private);
@@ -6083,8 +6084,8 @@ namespace Gtk {
                public Gtk.DestroyNotify destroy;
                public int count_selected_rows ();
                public Gtk.SelectionMode get_mode ();
-               public bool get_selected (Gtk.TreeModel model, out Gtk.TreeIter iter);
-               public weak GLib.List get_selected_rows (Gtk.TreeModel model);
+               public bool get_selected (out Gtk.TreeModel model, out Gtk.TreeIter iter);
+               public weak GLib.List get_selected_rows (out Gtk.TreeModel model);
                public weak Gtk.TreeView get_tree_view ();
                public pointer get_user_data ();
                public bool iter_is_selected (out Gtk.TreeIter iter);
@@ -6172,9 +6173,9 @@ namespace Gtk {
                public void get_cell_area (Gtk.TreePath path, Gtk.TreeViewColumn column, out Gdk.Rectangle rect);
                public weak Gtk.TreeViewColumn get_column (int n);
                public weak GLib.List get_columns ();
-               public void get_cursor (Gtk.TreePath path, Gtk.TreeViewColumn focus_column);
-               public bool get_dest_row_at_pos (int drag_x, int drag_y, Gtk.TreePath path, Gtk.TreeViewDropPosition pos);
-               public void get_drag_dest_row (Gtk.TreePath path, Gtk.TreeViewDropPosition pos);
+               public void get_cursor (out Gtk.TreePath path, out Gtk.TreeViewColumn focus_column);
+               public bool get_dest_row_at_pos (int drag_x, int drag_y, out Gtk.TreePath path, Gtk.TreeViewDropPosition pos);
+               public void get_drag_dest_row (out Gtk.TreePath path, Gtk.TreeViewDropPosition pos);
                public bool get_enable_search ();
                public bool get_enable_tree_lines ();
                public weak Gtk.TreeViewColumn get_expander_column ();
@@ -6187,7 +6188,7 @@ namespace Gtk {
                public bool get_hover_selection ();
                public int get_level_indentation ();
                public weak Gtk.TreeModel get_model ();
-               public bool get_path_at_pos (int x, int y, Gtk.TreePath path, Gtk.TreeViewColumn column, int cell_x, int cell_y);
+               public bool get_path_at_pos (int x, int y, out Gtk.TreePath path, out Gtk.TreeViewColumn column, int cell_x, int cell_y);
                public bool get_reorderable ();
                public Gtk.TreeViewRowSeparatorFunc get_row_separator_func ();
                public bool get_rubber_banding ();
@@ -6199,9 +6200,9 @@ namespace Gtk {
                public weak Gtk.TreeSelection get_selection ();
                public bool get_show_expanders ();
                public int get_tooltip_column ();
-               public bool get_tooltip_context (int x, int y, bool keyboard_tip, Gtk.TreeModel model, Gtk.TreePath path, out Gtk.TreeIter iter);
+               public bool get_tooltip_context (int x, int y, bool keyboard_tip, out Gtk.TreeModel model, out Gtk.TreePath path, out Gtk.TreeIter iter);
                public weak Gtk.Adjustment get_vadjustment ();
-               public bool get_visible_range (Gtk.TreePath start_path, Gtk.TreePath end_path);
+               public bool get_visible_range (out Gtk.TreePath start_path, out Gtk.TreePath end_path);
                public void get_visible_rect (out Gdk.Rectangle visible_rect);
                public int insert_column (Gtk.TreeViewColumn column, int position);
                public int insert_column_with_attributes (int position, string title, Gtk.CellRenderer cell, ...);
@@ -7467,6 +7468,6 @@ namespace Gtk {
        public static uint timeout_add (uint interval, Gtk.Function function, pointer data);
        public static uint timeout_add_full (uint interval, Gtk.Function function, Gtk.CallbackMarshal marshal, pointer data, Gtk.DestroyNotify destroy);
        public static void timeout_remove (uint timeout_handler_id);
-       public static bool tree_get_row_drag_data (Gtk.SelectionData selection_data, Gtk.TreeModel tree_model, Gtk.TreePath path);
+       public static bool tree_get_row_drag_data (Gtk.SelectionData selection_data, out Gtk.TreeModel tree_model, out Gtk.TreePath path);
        public static bool tree_set_row_drag_data (Gtk.SelectionData selection_data, Gtk.TreeModel tree_model, Gtk.TreePath path);
 }
index 3106cf0..27c8758 100644 (file)
@@ -124,6 +124,7 @@ GtkTreeModel::row_deleted has_emitter="1"
 GtkTreeModel::row_has_child_toggled has_emitter="1"
 GtkTreeModel::row_inserted has_emitter="1"
 GtkTreeModel::rows_reordered has_emitter="1"
+gtk_tree_path_get_indices is_array="1"
 gtk_tree_path_new_from_indices sentinel="-1"
 GtkTreePath is_value_type="0"
 gtk_tree_store_new ellipsis="1"
index ef5dcc0..ec557b9 100644 (file)
@@ -267,7 +267,7 @@ namespace Pango {
                public weak Pango.AttrIterator copy ();
                public weak Pango.Attribute get (Pango.AttrType type);
                public weak GLib.SList get_attrs ();
-               public void get_font (Pango.FontDescription desc, Pango.Language language, GLib.SList extra_attrs);
+               public void get_font (Pango.FontDescription desc, out Pango.Language language, GLib.SList extra_attrs);
                public bool next ();
                public void range (int start, int end);
        }
@@ -498,7 +498,7 @@ namespace Pango {
                public bool get_positions_in_pixels ();
                public int get_size ();
                public void get_tab (int tab_index, Pango.TabAlign alignment, int location);
-               public void get_tabs (Pango.TabAlign alignments, int locations);
+               public void get_tabs (out Pango.TabAlign alignments, int locations);
                public TabArray (int initial_size, bool positions_in_pixels);
                public TabArray.with_positions (int size, bool positions_in_pixels, Pango.TabAlign first_alignment, ...);
                public void resize (int new_size);
@@ -743,7 +743,7 @@ namespace Pango {
        public static weak GLib.List itemize_with_base_dir (Pango.Context context, Pango.Direction base_dir, string text, int start_index, int length, Pango.AttrList attrs, Pango.AttrIterator cached_iter);
        public static uchar log2vis_get_embedding_levels (string text, int length, Pango.Direction pbase_dir);
        public static bool parse_enum (GLib.Type type, string str, int value, bool warn, out string possible_values);
-       public static bool parse_markup (string markup_text, int length, unichar accel_marker, Pango.AttrList attr_list, out string text, unichar accel_char) throws GLib.Error;
+       public static bool parse_markup (string markup_text, int length, unichar accel_marker, out Pango.AttrList attr_list, out string text, unichar accel_char) throws GLib.Error;
        public static bool parse_stretch (string str, Pango.Stretch stretch, bool warn);
        public static bool parse_style (string str, Pango.Style style, bool warn);
        public static bool parse_variant (string str, Pango.Variant variant, bool warn);
index e6bb2cb..dff94e6 100644 (file)
@@ -870,7 +870,11 @@ public class Vala.GIdlParser : CodeVisitor {
                                }
                        } else {
                                parse_type_string (type, n);
-                               if (type_node.is_pointer && is_value_type (n)) {
+                               if (is_value_type (n)) {
+                                       if (type_node.is_pointer) {
+                                               type.is_out = true;
+                                       }
+                               } else if (type_node.unparsed.has_suffix ("**")) {
                                        type.is_out = true;
                                }
                        }
@@ -1050,6 +1054,11 @@ public class Vala.GIdlParser : CodeVisitor {
                                        }
                                } else if (nv[0] == "sentinel") {
                                        m.sentinel = eval (nv[1]);
+                               } else if (nv[0] == "is_array") {
+                                       if (eval (nv[1]) == "1") {
+                                               return_type.array_rank = 1;
+                                               return_type.is_out = false;
+                                       }
                                }
                        }
                }