From 12a560a22cbda229f490787b9a5d17aaff0bca82 Mon Sep 17 00:00:00 2001 From: David Hewitt Date: Mon, 25 Jun 2018 23:50:33 +0000 Subject: [PATCH] vala: Break reference chain between DataType and Symbol if possible See https://gitlab.gnome.org/GNOME/vala/issues/635 --- vala/valadelegatetype.vala | 2 +- vala/valafieldprototype.vala | 2 +- vala/valagenerictype.vala | 2 +- vala/valamethodtype.vala | 2 +- vala/valasignaltype.vala | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/vala/valadelegatetype.vala b/vala/valadelegatetype.vala index 8e62d750b..0f4edfdb3 100644 --- a/vala/valadelegatetype.vala +++ b/vala/valadelegatetype.vala @@ -26,7 +26,7 @@ using GLib; * The type of an instance of a delegate. */ public class Vala.DelegateType : CallableType { - public Delegate delegate_symbol { get; set; } + public weak Delegate delegate_symbol { get; set; } public bool is_called_once { get; set; } diff --git a/vala/valafieldprototype.vala b/vala/valafieldprototype.vala index cb0dc9aeb..4fc394fca 100644 --- a/vala/valafieldprototype.vala +++ b/vala/valafieldprototype.vala @@ -26,7 +26,7 @@ using GLib; * A reference to an instance field without a specific instance. */ public class Vala.FieldPrototype : DataType { - public Field field_symbol { get; set; } + public weak Field field_symbol { get; set; } public FieldPrototype (Field field_symbol) { this.field_symbol = field_symbol; diff --git a/vala/valagenerictype.vala b/vala/valagenerictype.vala index ca8aa657e..d964ab63a 100644 --- a/vala/valagenerictype.vala +++ b/vala/valagenerictype.vala @@ -29,7 +29,7 @@ public class Vala.GenericType : DataType { /** * The referred generic type parameter. */ - public TypeParameter type_parameter { get; set; } + public weak TypeParameter type_parameter { get; set; } public GenericType (TypeParameter type_parameter) { this.type_parameter = type_parameter; diff --git a/vala/valamethodtype.vala b/vala/valamethodtype.vala index 063189f6e..a2effdec6 100644 --- a/vala/valamethodtype.vala +++ b/vala/valamethodtype.vala @@ -26,7 +26,7 @@ using GLib; * The type of a method referencea. */ public class Vala.MethodType : CallableType { - public Method method_symbol { get; set; } + public weak Method method_symbol { get; set; } public MethodType (Method method_symbol) { this.method_symbol = method_symbol; diff --git a/vala/valasignaltype.vala b/vala/valasignaltype.vala index dbfd0435a..4a36816f0 100644 --- a/vala/valasignaltype.vala +++ b/vala/valasignaltype.vala @@ -26,7 +26,7 @@ using GLib; * The type of a signal referencea. */ public class Vala.SignalType : CallableType { - public Signal signal_symbol { get; set; } + public weak Signal signal_symbol { get; set; } Method? connect_method; Method? connect_after_method; -- 2.47.2