From 208a2e9076df65efe75a2023dd5615ddbccd2558 Mon Sep 17 00:00:00 2001 From: Rico Tzschichholz Date: Sun, 28 Jan 2018 23:00:03 +0100 Subject: [PATCH] girparser: Ignore conflicting closure/destroy indexes Reverse references from closure/destroy parameters back to the callback break our later logic, so skip this additional information. --- vala/valagirparser.vala | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/vala/valagirparser.vala b/vala/valagirparser.vala index b71664c88..23bd4e380 100644 --- a/vala/valagirparser.vala +++ b/vala/valagirparser.vala @@ -3242,13 +3242,17 @@ public class Vala.GirParser : CodeVisitor { if (instance_idx > -2 && instance_idx < closure_idx) { closure_idx--; } - current.closure_parameters.add (closure_idx); + if (current.closure_parameters.index_of (current_parameter_idx) < 0) { + current.closure_parameters.add (closure_idx); + } } if (destroy_idx != -1) { if (instance_idx > -2 && instance_idx < destroy_idx) { destroy_idx--; } - current.destroy_parameters.add (destroy_idx); + if (current.destroy_parameters.index_of (current_parameter_idx) < 0) { + current.destroy_parameters.add (destroy_idx); + } } if (param_comment != null) { if (comment == null) { -- 2.11.4.GIT