[gtk+/gtk-3-20] scrolledwindow: Remove child before destroying self



commit dcb4b48b29559ca632bb020a3b8eb2b9188b02e7
Author: Benjamin Otte <otte redhat com>
Date:   Tue May 10 00:59:19 2016 +0200

    scrolledwindow: Remove child before destroying self
    
    Children tend to call back into the scrolled window while being removed
    and that doesn't work too well if the scrolled window is destroyed
    already as Christian Hergert found out.

 gtk/gtkscrolledwindow.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)
---
diff --git a/gtk/gtkscrolledwindow.c b/gtk/gtkscrolledwindow.c
index 8a98490..bba19ed 100644
--- a/gtk/gtkscrolledwindow.c
+++ b/gtk/gtkscrolledwindow.c
@@ -2672,6 +2672,11 @@ gtk_scrolled_window_destroy (GtkWidget *widget)
 {
   GtkScrolledWindow *scrolled_window = GTK_SCROLLED_WINDOW (widget);
   GtkScrolledWindowPrivate *priv = scrolled_window->priv;
+  GtkWidget *child;
+
+  child = gtk_bin_get_child (GTK_BIN (widget));
+  if (child)
+    gtk_container_remove (GTK_CONTAINER (widget), child);
 
   remove_indicator (scrolled_window, &priv->hindicator);
   remove_indicator (scrolled_window, &priv->vindicator);


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