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.
This commit is contained in:
Benjamin Otte
2016-05-10 00:59:19 +02:00
parent 0c37b05716
commit 732316aca2

View File

@ -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);