[gtk/matthiasc/for-master: 29/30] scrolledwindow: Fix swapping out child



commit 10be40a8b1c6028e209eed24b666a50361103dee
Author: Matthias Clasen <mclasen redhat com>
Date:   Wed May 13 17:10:36 2020 -0400

    scrolledwindow: Fix swapping out child
    
    This was not working in the case that the existing child
    is not a scrollable. It showed up as crashes of the
    scrolling benchmark in gtk4-demo when switching examples.

 gtk/gtkscrolledwindow.c | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)
---
diff --git a/gtk/gtkscrolledwindow.c b/gtk/gtkscrolledwindow.c
index f2b8493234..f1b23d87eb 100644
--- a/gtk/gtkscrolledwindow.c
+++ b/gtk/gtkscrolledwindow.c
@@ -4166,20 +4166,16 @@ gtk_scrolled_window_set_child (GtkScrolledWindow *scrolled_window,
 
   if (priv->child)
     {
-      if (!priv->auto_added_viewport)
+      if (priv->auto_added_viewport)
         {
-          scrollable_child = priv->child;
-        }
-      else
-        {
-          scrollable_child = gtk_viewport_get_child (GTK_VIEWPORT (priv->child));
           gtk_viewport_set_child (GTK_VIEWPORT (priv->child), NULL);
         }
 
-      g_object_set (scrollable_child,
+      g_object_set (priv->child,
                     "hadjustment", NULL,
                     "vadjustment", NULL,
                     NULL);
+
       g_clear_pointer (&priv->child, gtk_widget_unparent);
     }
 


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