From: Jürg Billeter Date: Wed, 30 Sep 2009 17:28:37 +0000 (+0200) Subject: GError: Fix error propagation in creation methods X-Git-Tag: 0.7.8~88 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fe541bc5cd9d84a567705b72777c2b2117c85aef;p=thirdparty%2Fvala.git GError: Fix error propagation in creation methods --- diff --git a/codegen/valagerrormodule.vala b/codegen/valagerrormodule.vala index 9d624ded9..2f1d3856f 100644 --- a/codegen/valagerrormodule.vala +++ b/codegen/valagerrormodule.vala @@ -116,7 +116,11 @@ internal class Vala.GErrorModule : CCodeDelegateModule { append_local_free (current_symbol, free_frag, false); cerror_block.add_statement (free_frag); - if (current_return_type is VoidType) { + if (current_method is CreationMethod) { + cerror_block.add_statement (new CCodeReturnStatement (new CCodeConstant ("NULL"))); + } else if (current_method != null && current_method.coroutine) { + cerror_block.add_statement (new CCodeReturnStatement (new CCodeConstant ("FALSE"))); + } else if (current_return_type is VoidType) { cerror_block.add_statement (new CCodeReturnStatement ()); } else { cerror_block.add_statement (new CCodeReturnStatement (default_value_for_type (current_return_type, false)));