[gnome-todo] new-task-row: Cleanup popover on dispose



commit 9a6b277c5e3a83bea22746f00dccf9df60300d0f
Author: Georges Basile Stavracas Neto <georges stavracas gmail com>
Date:   Mon May 4 22:01:15 2020 -0300

    new-task-row: Cleanup popover on dispose
    
    Avoids some warnings

 src/task-list-view/gtd-new-task-row.c | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
---
diff --git a/src/task-list-view/gtd-new-task-row.c b/src/task-list-view/gtd-new-task-row.c
index 5d051f0..ec14b05 100644
--- a/src/task-list-view/gtd-new-task-row.c
+++ b/src/task-list-view/gtd-new-task-row.c
@@ -229,6 +229,24 @@ on_tasklist_popover_closed_cb (GtdTaskListPopover *popover,
 }
 
 
+/*
+ * GObject overrides
+ */
+
+static void
+gtd_new_task_row_dispose (GObject *object)
+{
+  GtdNewTaskRow *self = (GtdNewTaskRow *) object;
+
+  if (self->tasklist_popover)
+    {
+      gtk_widget_unparent (GTK_WIDGET (self->tasklist_popover));
+      self->tasklist_popover = NULL;
+    }
+
+  G_OBJECT_CLASS (gtd_new_task_row_parent_class)->dispose (object);
+}
+
 static void
 gtd_new_task_row_get_property (GObject    *object,
                                guint       prop_id,
@@ -253,6 +271,7 @@ gtd_new_task_row_class_init (GtdNewTaskRowClass *klass)
   GObjectClass *object_class = G_OBJECT_CLASS (klass);
   GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
 
+  object_class->dispose = gtd_new_task_row_dispose;
   object_class->get_property = gtd_new_task_row_get_property;
   object_class->set_property = gtd_new_task_row_set_property;
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]