diff options
author | Benjamin Otte <otte@redhat.com> | 2016-05-10 00:59:19 +0200 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2016-05-19 12:10:07 -0400 |
commit | dcb4b48b29559ca632bb020a3b8eb2b9188b02e7 (patch) | |
tree | 1951e6a2f4a044fa0df695848f9332762456a6b6 | |
parent | e7e55d13a4cdb636c01ed8b13f28f92f19e42aae (diff) | |
download | gtk+-dcb4b48b29559ca632bb020a3b8eb2b9188b02e7.tar.gz |
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.
-rw-r--r-- | gtk/gtkscrolledwindow.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gtk/gtkscrolledwindow.c b/gtk/gtkscrolledwindow.c index 8a98490771..bba19ed8e0 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); |