From: Ali Sabil Date: Sun, 11 Apr 2010 12:59:45 +0000 (+0200) Subject: Fix code generation for destroy_notify calls for delegate targets X-Git-Tag: 0.9.1~145 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=61d82ccb6993af24c8811aab45ca951594501220;p=thirdparty%2Fvala.git Fix code generation for destroy_notify calls for delegate targets Fixes bug 615440. --- diff --git a/codegen/valaccodebasemodule.vala b/codegen/valaccodebasemodule.vala index 91b14e338..d76aefcaa 100644 --- a/codegen/valaccodebasemodule.vala +++ b/codegen/valaccodebasemodule.vala @@ -2855,10 +2855,14 @@ internal class Vala.CCodeBaseModule : CCodeModule { var ccall = new CCodeFunctionCall (delegate_target_destroy_notify); ccall.add_argument (delegate_target); + var destroy_call = new CCodeCommaExpression (); + destroy_call.append_expression (ccall); + destroy_call.append_expression (new CCodeConstant ("NULL")); + var cisnull = new CCodeBinaryExpression (CCodeBinaryOperator.EQUALITY, delegate_target_destroy_notify, new CCodeConstant ("NULL")); var ccomma = new CCodeCommaExpression (); - ccomma.append_expression (new CCodeConditionalExpression (cisnull, new CCodeConstant ("NULL"), ccall)); + ccomma.append_expression (new CCodeConditionalExpression (cisnull, new CCodeConstant ("NULL"), destroy_call)); ccomma.append_expression (new CCodeAssignment (cvar, new CCodeConstant ("NULL"))); ccomma.append_expression (new CCodeAssignment (delegate_target, new CCodeConstant ("NULL"))); ccomma.append_expression (new CCodeAssignment (delegate_target_destroy_notify, new CCodeConstant ("NULL")));