scrolledwindow: Avoid a critical
authorMatthias Clasen <mclasen@redhat.com>
Mon, 10 Apr 2023 04:22:20 +0000 (00:22 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Fri, 21 Apr 2023 07:15:04 +0000 (09:15 +0200)
When setting the child property to NULL, we also need
to unset auto_added_viewport, to avoid triggering a
critical when setting it again.

gtk/gtkscrolledwindow.c

index be3ab0d4fc1f7d0ae025569e3fbe9518b1788811..126cf7f30e9949527ac016ee2062d00b34f38e3d 100644 (file)
@@ -4194,9 +4194,7 @@ gtk_scrolled_window_set_child (GtkScrolledWindow *scrolled_window,
   if (priv->child)
     {
       if (priv->auto_added_viewport)
-        {
-          gtk_viewport_set_child (GTK_VIEWPORT (priv->child), NULL);
-        }
+        gtk_viewport_set_child (GTK_VIEWPORT (priv->child), NULL);
 
       g_object_set (priv->child,
                     "hadjustment", NULL,
@@ -4204,6 +4202,7 @@ gtk_scrolled_window_set_child (GtkScrolledWindow *scrolled_window,
                     NULL);
 
       g_clear_pointer (&priv->child, gtk_widget_unparent);
+      priv->auto_added_viewport = FALSE;
     }
 
   if (child)