From 4baa4f5141ecc452b99ebf75e6a8f18fa9d24f6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guido=20G=C3=BCnther?= Date: Sat, 14 Sep 2024 11:31:59 +0200 Subject: [PATCH] call-record-row: Unparent popover in dispose Finalize is too late to break reference cycles. Part-of: --- src/calls-call-record-row.c | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/src/calls-call-record-row.c b/src/calls-call-record-row.c index c16bbf1..a7c25d5 100644 --- a/src/calls-call-record-row.c +++ b/src/calls-call-record-row.c @@ -494,6 +494,9 @@ static void dispose (GObject *object) { CallsCallRecordRow *self = CALLS_CALL_RECORD_ROW (object); + GtkWidget *popover = GTK_WIDGET (self->popover); + + g_clear_pointer (&popover, gtk_widget_unparent); g_clear_object (&self->contact); g_clear_object (&self->action_map); @@ -507,18 +510,6 @@ dispose (GObject *object) } -static void -finalize (GObject *object) -{ - CallsCallRecordRow *self = CALLS_CALL_RECORD_ROW (object); - - GtkWidget *popover = GTK_WIDGET (self->popover); - - g_clear_pointer (&popover, gtk_widget_unparent); - - G_OBJECT_CLASS (calls_call_record_row_parent_class)->dispose (object); -} - static void calls_call_record_row_class_init (CallsCallRecordRowClass *klass) @@ -530,7 +521,6 @@ calls_call_record_row_class_init (CallsCallRecordRowClass *klass) object_class->constructed = constructed; object_class->get_property = get_property; object_class->dispose = dispose; - object_class->finalize = finalize; props[PROP_RECORD] = g_param_spec_object ("record",