From: Jürg Billeter Date: Thu, 21 Oct 2010 20:06:40 +0000 (+0200) Subject: codegen: Fix lambda expressions passed to GClosure parameters X-Git-Tag: 0.11.1~46 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ce41bb98218a7f6cfc7c1a567bc30d3c5cb649d9;p=thirdparty%2Fvala.git codegen: Fix lambda expressions passed to GClosure parameters --- diff --git a/codegen/valaccodebasemodule.vala b/codegen/valaccodebasemodule.vala index abebbcf5c..267a6f4f7 100644 --- a/codegen/valaccodebasemodule.vala +++ b/codegen/valaccodebasemodule.vala @@ -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")); } }