summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPřemysl Janouch <p@janouch.name>2018-06-25 03:51:38 +0200
committerPřemysl Janouch <p@janouch.name>2018-06-25 03:51:38 +0200
commitc2caf2b825ddb5682a180eea42333c7156ea9777 (patch)
treee284e443053ec0f519894c4c2a233621d10c9846
parentf75c15fda5d5cdd3a68b19f63fbe56dd1922d74f (diff)
downloadlogdiag-c2caf2b825ddb5682a180eea42333c7156ea9777.tar.gz
logdiag-c2caf2b825ddb5682a180eea42333c7156ea9777.tar.xz
logdiag-c2caf2b825ddb5682a180eea42333c7156ea9777.zip
Fix assertion failures on quitting
-rw-r--r--liblogdiag/ld-diagram-view.c15
1 files changed, 14 insertions, 1 deletions
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);