[gtk+] scrolledwindow: Remove child before destroying self



commit 732316aca25c4616d26669e85024097324a1101c
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 d85ecbb..e4927e7 100644
--- a/gtk/gtkscrolledwindow.c
+++ b/gtk/gtkscrolledwindow.c
@@ -2673,6 +2673,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]