]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
Fix error handling in try statements nested across method boundaries
authorJürg Billeter <j@bitron.ch>
Fri, 9 Jan 2009 10:29:02 +0000 (10:29 +0000)
committerJürg Billeter <juergbi@src.gnome.org>
Fri, 9 Jan 2009 10:29:02 +0000 (10:29 +0000)
2009-01-09  Jürg Billeter  <j@bitron.ch>

* gobject/valaccodemethodmodule.vala:

Fix error handling in try statements nested across method
boundaries (using lambda expressions)

svn path=/trunk/; revision=2300

ChangeLog
gobject/valaccodemethodmodule.vala

index 2261c987fdb5eb313f09901c0696f8ca1b1bec49..dcbfe7984728101ebef2d1bcb9c7afc309974c04 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2009-01-09  Jürg Billeter  <j@bitron.ch>
+
+       * gobject/valaccodemethodmodule.vala:
+
+       Fix error handling in try statements nested across method
+       boundaries (using lambda expressions)
+
 2009-01-09  Jürg Billeter  <j@bitron.ch>
 
        * compiler/valacompiler.vala:
index d234b848960c83d8e571402ff9b0db225ea10e9c..822b976d981b0c8cae5afc7e020b69e63c72c6fc 100644 (file)
@@ -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<string,string> (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;