[gnome-builder/wip/chergert/completion] completion: cleanup additional fields



commit 1560d409271e5263c01da84832dbceb531e5e2ed
Author: Christian Hergert <chergert redhat com>
Date:   Wed May 30 23:12:59 2018 -0700

    completion: cleanup additional fields

 src/libide/completion/ide-completion.c | 11 +++++++++++
 1 file changed, 11 insertions(+)
---
diff --git a/src/libide/completion/ide-completion.c b/src/libide/completion/ide-completion.c
index f5761422c..3ceaafdb0 100644
--- a/src/libide/completion/ide-completion.c
+++ b/src/libide/completion/ide-completion.c
@@ -890,6 +890,13 @@ ide_completion_finalize (GObject *object)
 
   IDE_ENTRY;
 
+  if (self->display != NULL)
+    gtk_widget_destroy (GTK_WIDGET (self->display));
+
+  dzl_clear_source (&self->queued_update);
+
+  g_clear_object (&self->cancellable);
+  g_clear_object (&self->addins);
   g_clear_object (&self->buffer_signals);
   g_clear_object (&self->context_signals);
   g_clear_object (&self->view_signals);
@@ -1487,6 +1494,10 @@ ide_completion_get_display (IdeCompletion *self)
   if (self->display == NULL)
     {
       self->display = ide_completion_create_display (self);
+      g_signal_connect (self->display,
+                        "destroy",
+                        G_CALLBACK (gtk_widget_destroyed),
+                        &self->display);
       ide_completion_display_set_n_rows (self->display, self->n_rows);
       ide_completion_display_attach (self->display, self->view);
       _ide_completion_display_set_font_desc (self->display, self->font_desc);


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