[gtk+] gtkwindow: Free pointer foci on dispose



commit 9de7c9f5959b3321f50d4a31cacfd62a90f609df
Author: Carlos Garnacho <carlosg gnome org>
Date:   Wed Jul 19 18:13:47 2017 +0200

    gtkwindow: Free pointer foci on dispose
    
    That means the whole hierarchy is getting destroyed, leaving those
    behind incurs not only in a leak, but also on weak refs (and unintended
    repick) to happen in the wrong moment.

 gtk/gtkwindow.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)
---
diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c
index d680906..b476321 100644
--- a/gtk/gtkwindow.c
+++ b/gtk/gtkwindow.c
@@ -3237,6 +3237,9 @@ gtk_window_dispose (GObject *object)
   GtkWindow *window = GTK_WINDOW (object);
   GtkWindowPrivate *priv = window->priv;
 
+  g_list_free_full (priv->foci, (GDestroyNotify) gtk_pointer_focus_unref);
+  priv->foci = NULL;
+
   gtk_window_set_focus (window, NULL);
   gtk_window_set_default (window, NULL);
   remove_attach_widget (window);


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