From: Jürg Billeter Date: Fri, 9 Jan 2009 10:29:02 +0000 (+0000) Subject: Fix error handling in try statements nested across method boundaries X-Git-Tag: VALA_0_5_5~25 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c888365ee2a1bc237b78a7cc2ac8e30a15584a7f;p=thirdparty%2Fvala.git Fix error handling in try statements nested across method boundaries 2009-01-09 Jürg Billeter * gobject/valaccodemethodmodule.vala: Fix error handling in try statements nested across method boundaries (using lambda expressions) svn path=/trunk/; revision=2300 --- diff --git a/ChangeLog b/ChangeLog index 2261c987f..dcbfe7984 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2009-01-09 Jürg Billeter + + * gobject/valaccodemethodmodule.vala: + + Fix error handling in try statements nested across method + boundaries (using lambda expressions) + 2009-01-09 Jürg Billeter * compiler/valacompiler.vala: diff --git a/gobject/valaccodemethodmodule.vala b/gobject/valaccodemethodmodule.vala index d234b8489..822b976d9 100644 --- a/gobject/valaccodemethodmodule.vala +++ b/gobject/valaccodemethodmodule.vala @@ -63,6 +63,7 @@ public class Vala.CCodeMethodModule : CCodeStructModule { bool old_method_inner_error = current_method_inner_error; int old_next_temp_var_id = next_temp_var_id; var old_variable_name_map = variable_name_map; + var old_try = current_try; if (m.parent_symbol is TypeSymbol) { current_type_symbol = (TypeSymbol) m.parent_symbol; } @@ -72,6 +73,7 @@ public class Vala.CCodeMethodModule : CCodeStructModule { current_method_inner_error = false; next_temp_var_id = 0; variable_name_map = new HashMap (str_hash, str_equal); + current_try = null; bool in_gtypeinstance_creation_method = false; bool in_gobject_creation_method = false; @@ -163,6 +165,7 @@ public class Vala.CCodeMethodModule : CCodeStructModule { current_method_inner_error = old_method_inner_error; next_temp_var_id = old_next_temp_var_id; variable_name_map = old_variable_name_map; + current_try = old_try; function = new CCodeFunction (m.get_real_cname (), get_creturn_type (m, creturn_type.get_cname ())); m.ccodenode = function;