From: Rico Tzschichholz Date: Sun, 28 Jan 2018 22:00:03 +0000 (+0100) Subject: girparser: Ignore conflicting closure/destroy indexes X-Git-Tag: 0.39.6~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3504dc119cfa040c42efad8672199205d11dcecb;p=thirdparty%2Fvala.git 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. --- diff --git a/vala/valagirparser.vala b/vala/valagirparser.vala index 2c94e249a..617aaf080 100644 --- a/vala/valagirparser.vala +++ b/vala/valagirparser.vala @@ -3262,13 +3262,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) {