]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
GAsync: Fix generated sync method variant
authorDidier 'Ptitjes <ptitjes@free.fr>
Tue, 2 Jun 2009 03:50:58 +0000 (05:50 +0200)
committerJürg Billeter <j@bitron.ch>
Fri, 3 Jul 2009 14:33:13 +0000 (15:33 +0100)
Yield statements must be ignored in synchronous variant.

Signed-off-by: Didier 'Ptitjes <ptitjes@free.fr>
codegen/valagasyncmodule.vala

index 5b4f7f7efe4a715f22a34435a6bbaf25209597e8..c49f6a289d682e7944b8cfe5b4bfe61c3e0f70b8 100644 (file)
@@ -316,6 +316,11 @@ internal class Vala.GAsyncModule : GSignalModule {
        }
 
        public override void visit_yield_statement (YieldStatement stmt) {
+               if (current_method == null || !current_method.coroutine) {
+                       stmt.ccodenode = new CCodeEmptyStatement ();
+                       return;
+               }
+
                if (stmt.yield_expression == null) {
                        // should be replaced by a simple return FALSE; when we have
                        //     void idle () yields;