From: Jared Moore Date: Thu, 17 Jul 2008 02:38:06 +0000 (+0000) Subject: Added 'type_name' metadata to function to override its return type. X-Git-Tag: VALA_0_3_5~51 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c13f6140d69eaac6dabc864fe6f55133796ff015;p=thirdparty%2Fvala.git Added 'type_name' metadata to function to override its return type. 2008-07-17 Jared Moore * vapigen/valagidlparser.vala: Added 'type_name' metadata to function to override its return type. * vapi/packages/gtk+-2.0/gtk+-2.0.metadata Changed gtk_selection_data_get_text to return a string, fixes bug 540663. * vapi/gtk+-2.0.vapi: Regenerated. svn path=/trunk/; revision=1703 --- diff --git a/ChangeLog b/ChangeLog index b72055d71..c13c6e79d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,18 @@ +2008-07-17 Jared Moore + + * vapigen/valagidlparser.vala: + + Added 'type_name' metadata to function to override its return type. + + * vapi/packages/gtk+-2.0/gtk+-2.0.metadata + + Changed gtk_selection_data_get_text to return a string, fixes bug + 540663. + + * vapi/gtk+-2.0.vapi: + + Regenerated. + 2008-07-17 Jared Moore * vala/valasignal.vala: diff --git a/vapi/gtk+-2.0.vapi b/vapi/gtk+-2.0.vapi index 605934357..fb8d9c8e0 100644 --- a/vapi/gtk+-2.0.vapi +++ b/vapi/gtk+-2.0.vapi @@ -1635,7 +1635,7 @@ namespace Gtk { public Gtk.SelectionData copy (); public Gdk.Pixbuf? get_pixbuf (); public bool get_targets (out Gdk.Atom targets, int n_atoms); - public weak uchar[] get_text (); + public string? get_text (); [NoArrayLength] public string[] get_uris (); public void set (Gdk.Atom type, int format, uchar[] data); diff --git a/vapi/packages/gtk+-2.0/gtk+-2.0.metadata b/vapi/packages/gtk+-2.0/gtk+-2.0.metadata index e20b8ef68..3fbdde33b 100644 --- a/vapi/packages/gtk+-2.0/gtk+-2.0.metadata +++ b/vapi/packages/gtk+-2.0/gtk+-2.0.metadata @@ -275,6 +275,7 @@ gtk_scrolled_window_new.vadjustment nullable="1" gtk_selection_add_targets.targets is_array="1" gtk_selection_data_copy transfer_ownership="1" gtk_selection_data_get_pixbuf transfer_ownership="1" nullable="1" +gtk_selection_data_get_text type_name="string" nullable="1" transfer_ownership="1" gtk_selection_data_get_uris is_array="1" transfer_ownership="1" no_array_length="1" gtk_selection_data_set.length hidden="1" GtkSettings.queued_settings hidden="1" diff --git a/vapigen/valagidlparser.vala b/vapigen/valagidlparser.vala index 2b39443f2..85de85f96 100644 --- a/vapigen/valagidlparser.vala +++ b/vapigen/valagidlparser.vala @@ -1329,7 +1329,15 @@ public class Vala.GIdlParser : CodeVisitor { m.no_array_length = true; } } else if (nv[0] == "type_name") { - ((UnresolvedType) return_type).unresolved_symbol = new UnresolvedSymbol (null, eval (nv[1])); + var sym = new UnresolvedSymbol (null, eval (nv[1])); + if (return_type is UnresolvedType) { + ((UnresolvedType) return_type).unresolved_symbol = sym; + } else { + // Overwrite old return_type, so "type_name" must be before any + // other return type modifying metadata + m.return_type = return_type = new UnresolvedType.from_symbol (sym, return_type.source_reference); + } + } } else if (nv[0] == "type_arguments") { var type_args = eval (nv[1]).split (","); foreach (string type_arg in type_args) {