]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
codegen: Fix lambda expressions passed to GClosure parameters
authorJürg Billeter <j@bitron.ch>
Thu, 21 Oct 2010 20:06:40 +0000 (22:06 +0200)
committerJürg Billeter <j@bitron.ch>
Thu, 21 Oct 2010 20:06:40 +0000 (22:06 +0200)
codegen/valaccodebasemodule.vala

index abebbcf5c56d5ca4e7c4267e898011ed8c97626e..267a6f4f7df945b77c155c10260b73cc6594cf11 100644 (file)
@@ -5006,6 +5006,8 @@ public class Vala.CCodeBaseModule : CodeGenerator {
                                ref_call.add_argument (delegate_target);
                                delegate_target = ref_call;
                                set_delegate_target_destroy_notify (lambda, new CCodeIdentifier ("block%d_data_unref".printf (block_id)));
+                       } else {
+                               set_delegate_target_destroy_notify (lambda, new CCodeConstant ("NULL"));
                        }
                        set_delegate_target (lambda, delegate_target);
                } else if (get_this_type () != null || in_constructor) {
@@ -5023,10 +5025,13 @@ public class Vala.CCodeBaseModule : CodeGenerator {
                                        delegate_target = ref_call;
                                        set_delegate_target_destroy_notify (lambda, new CCodeIdentifier ("g_object_unref"));
                                }
+                       } else {
+                               set_delegate_target_destroy_notify (lambda, new CCodeConstant ("NULL"));
                        }
                        set_delegate_target (lambda, delegate_target);
                } else {
                        set_delegate_target (lambda, new CCodeConstant ("NULL"));
+                       set_delegate_target_destroy_notify (lambda, new CCodeConstant ("NULL"));
                }
        }