summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2023-04-10 05:50:20 +0000
committerMatthias Clasen <mclasen@redhat.com>2023-04-10 05:50:20 +0000
commit5e6bc681a3bce292f0600fcfa8903175365f1548 (patch)
treeab9d387aea8e661dde4944a87ff71dd2303fedfc
parentd8796b3075b49e85def51cb6f9b9127dc4faf5a9 (diff)
parent87e16f3ad943463b9b6da277769e4f46c0dc77ba (diff)
downloadgtk+-5e6bc681a3bce292f0600fcfa8903175365f1548.tar.gz
Merge branch 'scrolled-window-critical' into 'main'
scrolledwindow: Avoid a critical See merge request GNOME/gtk!5809
-rw-r--r--gtk/gtkscrolledwindow.c5
-rw-r--r--testsuite/gtk/notify.c3
2 files changed, 5 insertions, 3 deletions
diff --git a/gtk/gtkscrolledwindow.c b/gtk/gtkscrolledwindow.c
index b81777784b..fed7c32eed 100644
--- a/gtk/gtkscrolledwindow.c
+++ b/gtk/gtkscrolledwindow.c
@@ -4202,9 +4202,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,
@@ -4212,6 +4210,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)
diff --git a/testsuite/gtk/notify.c b/testsuite/gtk/notify.c
index d9bdc2eb07..3f313ac435 100644
--- a/testsuite/gtk/notify.c
+++ b/testsuite/gtk/notify.c
@@ -383,6 +383,9 @@ check_property (GObject *instance, GParamSpec *pspec)
g_object_set (instance, pspec->name, NULL, NULL);
assert_notifies (instance, pspec->name, data.count, 2);
+ g_object_set (instance, pspec->name, value, NULL);
+ assert_notifies (instance, pspec->name, data.count, 3);
+
g_object_unref (value);
g_signal_handler_disconnect (instance, id);