+2008-10-25 Jürg Billeter <j@bitron.ch>
+
+ * vala/valadelegate.vala:
+ * gobject/valaccodegenerator.vala:
+ * gobject/valaccodeinvocationexpressionmodule.vala:
+
+ Next attempt to correct parameter positions for instance and
+ error parameters in delegate wrappers
+
2008-10-25 Ali Sabil <ali.sabil@gmail.com>
* vapi/glib-2.0.vapi:
if (m.get_error_types ().size > 0) {
var cparam = new CCodeFormalParameter ("error", "GError**");
- cparam_map.set (get_param_pos (-2), cparam);
+ cparam_map.set (get_param_pos (-1), cparam);
}
// append C parameters in the right order
// method can fail
codegen.current_method_inner_error = true;
// add &inner_error before the ellipsis arguments
- carg_map.set (codegen.get_param_pos (-2), new CCodeUnaryExpression (CCodeUnaryOperator.ADDRESS_OF, new CCodeIdentifier ("inner_error")));
+ carg_map.set (codegen.get_param_pos (-1), new CCodeUnaryExpression (CCodeUnaryOperator.ADDRESS_OF, new CCodeIdentifier ("inner_error")));
}
if (ellipsis) {
this.return_type = return_type;
this.source_reference = source_reference;
- cinstance_parameter_position = -1;
+ // error is -1 (right of user_data)
+ cinstance_parameter_position = -2;
carray_length_parameter_position = -3;
cdelegate_target_parameter_position = -3;
}