+2009-01-10 Jürg Billeter <j@bitron.ch>
+
+ * vala/valacodewriter.vala:
+ * vapigen/valagidlparser.vala:
+
+ Support methods returning null-terminated arrays
+
+ * vapi/packages/gtk+-2.0/:
+
+ Fix gtk_selection_data_get_uris binding
+
+ * vapi/gtk+-2.0.vapi: regenerated
+
2009-01-10 Jürg Billeter <j@bitron.ch>
* vala/valacodewriter.vala:
ccode_params.append_printf ("%sarray_length_pos = %g", separator, m.carray_length_parameter_position);
separator = ", ";
}
+ if (m.array_null_terminated && m.return_type is ArrayType) {
+ ccode_params.append_printf ("%sarray_null_terminated = true", separator);
+ separator = ", ";
+ }
if (!float_equal (m.cdelegate_target_parameter_position, -3)) {
ccode_params.append_printf ("%sdelegate_target_pos = %g", separator, m.cdelegate_target_parameter_position);
separator = ", ";
public Gdk.Pixbuf? get_pixbuf ();
public bool get_targets (out Gdk.Atom targets, int n_atoms);
public string? get_text ();
- [CCode (array_length = false)]
+ [CCode (array_length = false, array_null_terminated = true)]
public string[] get_uris ();
public void set (Gdk.Atom type, int format, uchar[] data);
public bool set_pixbuf (Gdk.Pixbuf pixbuf);
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_get_uris is_array="1" transfer_ownership="1" array_null_terminated="1"
gtk_selection_data_set.length hidden="1"
gtk_selection_data_set_uris.uris is_array="1" no_array_length="1"
GtkSettings.queued_settings hidden="1"
if (eval (nv[1]) == "1") {
m.no_array_length = true;
}
+ } else if (nv[0] == "array_null_terminated") {
+ if (eval (nv[1]) == "1") {
+ m.no_array_length = true;
+ m.array_null_terminated = true;
+ }
} else if (nv[0] == "type_name") {
var sym = new UnresolvedSymbol (null, eval (nv[1]));
if (return_type is UnresolvedType) {
if (eval (nv[1]) == "1") {
p.no_array_length = true;
}
+ } else if (nv[0] == "array_null_terminated") {
+ if (eval (nv[1]) == "1") {
+ p.no_array_length = true;
+ p.array_null_terminated = true;
+ }
} else if (nv[0] == "array_length_pos") {
set_array_length_pos = true;
array_length_pos = eval (nv[1]).to_double ();