diff options
author | Přemysl Janouch <p@janouch.name> | 2018-06-25 03:51:38 +0200 |
---|---|---|
committer | Přemysl Janouch <p@janouch.name> | 2018-06-25 03:51:38 +0200 |
commit | c2caf2b825ddb5682a180eea42333c7156ea9777 (patch) | |
tree | e284e443053ec0f519894c4c2a233621d10c9846 | |
parent | f75c15fda5d5cdd3a68b19f63fbe56dd1922d74f (diff) | |
download | logdiag-c2caf2b825ddb5682a180eea42333c7156ea9777.tar.gz logdiag-c2caf2b825ddb5682a180eea42333c7156ea9777.tar.xz logdiag-c2caf2b825ddb5682a180eea42333c7156ea9777.zip |
Fix assertion failures on quitting
-rw-r--r-- | liblogdiag/ld-diagram-view.c | 15 |
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); |