From: Jürg Billeter Date: Fri, 16 Oct 2009 13:39:20 +0000 (+0200) Subject: GAsync: Fix object creation expressions throwing errors X-Git-Tag: 0.7.8~44 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e123a81039ed422e2a4865861aef6f8d2035e82d;p=thirdparty%2Fvala.git GAsync: Fix object creation expressions throwing errors Fixes bug 598677. --- diff --git a/codegen/valaccodebasemodule.vala b/codegen/valaccodebasemodule.vala index a4fe54b22..b3fbffa98 100644 --- a/codegen/valaccodebasemodule.vala +++ b/codegen/valaccodebasemodule.vala @@ -3777,7 +3777,7 @@ internal class Vala.CCodeBaseModule : CCodeModule { if (expr.tree_can_fail) { // method can fail current_method_inner_error = true; - creation_call.add_argument (new CCodeUnaryExpression (CCodeUnaryOperator.ADDRESS_OF, new CCodeIdentifier ("_inner_error_"))); + creation_call.add_argument (new CCodeUnaryExpression (CCodeUnaryOperator.ADDRESS_OF, get_variable_cexpression ("_inner_error_"))); } if (ellipsis) { diff --git a/tests/Makefile.am b/tests/Makefile.am index e9be7e8e9..bb6ac8b1c 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -63,6 +63,7 @@ TESTS = \ asynchronous/bug595755.vala \ asynchronous/bug596177.vala \ asynchronous/bug597294.vala \ + asynchronous/bug598677.vala \ dbus/basic-types.test \ dbus/arrays.test \ dbus/async.test \ diff --git a/tests/asynchronous/bug598677.vala b/tests/asynchronous/bug598677.vala new file mode 100644 index 000000000..444d6be62 --- /dev/null +++ b/tests/asynchronous/bug598677.vala @@ -0,0 +1,11 @@ +public class Foo { + public Foo () throws Error { + } +} + +public async void do_foo () throws Error { + new Foo (); +} + +void main () { +}