From: Luca Bruno Date: Fri, 24 Jun 2011 05:11:51 +0000 (-0400) Subject: codegen: Fix definition of property getter for SimpleType structs X-Git-Tag: 0.13.4~23 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7e20e794095269ccef3aa8186a5dff7d686b80bc;p=thirdparty%2Fvala.git codegen: Fix definition of property getter for SimpleType structs Based on patch by Nathan Summers. Partially fixes bug 657346. --- diff --git a/codegen/valaccodebasemodule.vala b/codegen/valaccodebasemodule.vala index 3e5c125ca..c9d141739 100644 --- a/codegen/valaccodebasemodule.vala +++ b/codegen/valaccodebasemodule.vala @@ -1362,7 +1362,7 @@ public abstract class Vala.CCodeBaseModule : CodeGenerator { var this_type = get_data_type_for_symbol (t); generate_type_declaration (this_type, decl_space); var cselfparam = new CCodeParameter ("self", get_ccode_name (this_type)); - if (t is Struct) { + if (t is Struct && !((Struct) t).is_simple_type ()) { cselfparam.type_name += "*"; } @@ -1450,7 +1450,7 @@ public abstract class Vala.CCodeBaseModule : CodeGenerator { var this_type = get_data_type_for_symbol (t); var cselfparam = new CCodeParameter ("self", get_ccode_name (this_type)); - if (t is Struct) { + if (t is Struct && !((Struct) t).is_simple_type ()) { cselfparam.type_name += "*"; } CCodeParameter cvalueparam; diff --git a/codegen/valaccodememberaccessmodule.vala b/codegen/valaccodememberaccessmodule.vala index 2978ce8cf..349a96ead 100644 --- a/codegen/valaccodememberaccessmodule.vala +++ b/codegen/valaccodememberaccessmodule.vala @@ -209,7 +209,7 @@ public abstract class Vala.CCodeMemberAccessModule : CCodeControlFlowModule { var ccall = new CCodeFunctionCall (new CCodeIdentifier (getter_cname)); if (prop.binding == MemberBinding.INSTANCE) { - if (prop.parent_symbol is Struct) { + if (prop.parent_symbol is Struct && !((Struct) prop.parent_symbol).is_simple_type ()) { // we need to pass struct instance by reference var instance = expr.inner.target_value; if (!get_lvalue (instance)) {