From: Marc-André Lureau Date: Sat, 30 May 2009 16:18:59 +0000 (+0300) Subject: Owned struct parameters should not be const X-Git-Tag: 0.7.5~41 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3ae7deee30862c281ec43e947a9bc99e861cbd4f;p=thirdparty%2Fvala.git Owned struct parameters should not be const This code fails to compile, because vala tries to free() a const value. public virtual void qset (Quark field, owned Value? value) { ... } --- diff --git a/codegen/valaccodemethodmodule.vala b/codegen/valaccodemethodmodule.vala index eb73b0f7a..d76fbce16 100644 --- a/codegen/valaccodemethodmodule.vala +++ b/codegen/valaccodemethodmodule.vala @@ -660,7 +660,7 @@ internal class Vala.CCodeMethodModule : CCodeStructModule { if (param.parameter_type.data_type is Struct) { var st = (Struct) param.parameter_type.data_type; if (!st.is_simple_type () && param.direction == ParameterDirection.IN) { - if (st.use_const) { + if (st.use_const && !param.parameter_type.value_owned) { ctypename = "const " + ctypename; }