From: Jürg Billeter Date: Fri, 20 Jun 2008 18:38:02 +0000 (+0000) Subject: Fix ref and out signal parameters X-Git-Tag: VALA_0_3_4~36 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=aa5efb24dcaf4d1be730e9f3095fd04ffbed2ab9;p=thirdparty%2Fvala.git Fix ref and out signal parameters 2008-06-20 Jürg Billeter * gobject/valaccodegeneratorsignal.vala: Fix ref and out signal parameters svn path=/trunk/; revision=1617 --- diff --git a/ChangeLog b/ChangeLog index 0ea0c88ad..d127ed5ea 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2008-06-20 Jürg Billeter + + * gobject/valaccodegeneratorsignal.vala: + + Fix ref and out signal parameters + 2008-06-18 Jürg Billeter * vapi/glib-2.0.vapi: diff --git a/gobject/valaccodegeneratorsignal.vala b/gobject/valaccodegeneratorsignal.vala index 941a74266..869649bde 100644 --- a/gobject/valaccodegeneratorsignal.vala +++ b/gobject/valaccodegeneratorsignal.vala @@ -248,13 +248,15 @@ public class Vala.CCodeGenerator { foreach (FormalParameter p in params) { string get_value_function; bool is_array = p.parameter_type.is_array (); - if (is_array) { + if (p.direction != ParameterDirection.IN) { + get_value_function = "g_value_get_pointer"; + } else if (is_array) { if (((ArrayType) p.parameter_type).element_type.data_type == string_type.data_type) { get_value_function = "g_value_get_boxed"; } else { get_value_function = "g_value_get_pointer"; } - } else if (p.parameter_type is PointerType || p.parameter_type.type_parameter != null || p.direction != ParameterDirection.IN) { + } else if (p.parameter_type is PointerType || p.parameter_type.type_parameter != null) { get_value_function = "g_value_get_pointer"; } else if (p.parameter_type is ErrorType) { get_value_function = "g_value_get_pointer";