From c2caf2b825ddb5682a180eea42333c7156ea9777 Mon Sep 17 00:00:00 2001
From: Přemysl Janouch <p@janouch.name>
Date: Mon, 25 Jun 2018 03:51:38 +0200
Subject: Fix assertion failures on quitting

---
 liblogdiag/ld-diagram-view.c | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/liblogdiag/ld-diagram-view.c b/liblogdiag/ld-diagram-view.c
index 11903d5..3092f2d 100644
--- a/liblogdiag/ld-diagram-view.c
+++ b/liblogdiag/ld-diagram-view.c
@@ -235,6 +235,7 @@ static void ld_diagram_view_get_property (GObject *object, guint property_id,
 	GValue *value, GParamSpec *pspec);
 static void ld_diagram_view_set_property (GObject *object, guint property_id,
 	const GValue *value, GParamSpec *pspec);
+static void ld_diagram_view_dispose (GObject *gobject);
 static void ld_diagram_view_finalize (GObject *gobject);
 
 static void set_hadjustment
@@ -400,6 +401,7 @@ ld_diagram_view_class_init (LdDiagramViewClass *klass)
 	object_class = G_OBJECT_CLASS (klass);
 	object_class->get_property = ld_diagram_view_get_property;
 	object_class->set_property = ld_diagram_view_set_property;
+	object_class->dispose = ld_diagram_view_dispose;
 	object_class->finalize = ld_diagram_view_finalize;
 
 	klass->cancel_operation = ld_diagram_view_real_cancel_operation;
@@ -567,7 +569,7 @@ ld_diagram_view_init (LdDiagramView *self)
 }
 
 static void
-ld_diagram_view_finalize (GObject *gobject)
+ld_diagram_view_dispose (GObject *gobject)
 {
 	LdDiagramView *self;
 
@@ -576,6 +578,17 @@ ld_diagram_view_finalize (GObject *gobject)
 	g_object_set (self, "hadjustment", NULL, NULL);
 	g_object_set (self, "vadjustment", NULL, NULL);
 
+	/* Chain up to the parent class. */
+	G_OBJECT_CLASS (ld_diagram_view_parent_class)->dispose (gobject);
+}
+
+static void
+ld_diagram_view_finalize (GObject *gobject)
+{
+	LdDiagramView *self;
+
+	self = LD_DIAGRAM_VIEW (gobject);
+
 	if (self->priv->diagram)
 	{
 		diagram_disconnect_signals (self);
-- 
cgit v1.2.3-70-g09d2