checkbutton: fix critical when setting use-underline
authorChristian Hergert <chergert@redhat.com>
Tue, 17 May 2022 19:28:25 +0000 (12:28 -0700)
committerChristian Hergert <chergert@redhat.com>
Tue, 17 May 2022 19:28:25 +0000 (12:28 -0700)
This needs to make sure that we've created the label before applying the
setting on a child widget.

Fixes #4934

gtk/gtkcheckbutton.c

index c97fa815e15b445068d96964b436d50e73fd2fea..12a08b4452200c7ac4ccd8b3fd70542af9bec691 100644 (file)
@@ -959,7 +959,7 @@ gtk_check_button_set_label (GtkCheckButton *self,
             gtk_label_set_use_underline (GTK_LABEL (child), priv->use_underline);
           gtk_check_button_real_set_child (self, GTK_WIDGET (child), LABEL_CHILD);
         }
-      
+
       gtk_widget_add_css_class (GTK_WIDGET (self), "text-button");
       gtk_label_set_label (GTK_LABEL (priv->child), label);
     }
@@ -1099,7 +1099,7 @@ gtk_check_button_set_use_underline (GtkCheckButton *self,
     return;
 
   priv->use_underline = setting;
-  if (priv->child_type == LABEL_CHILD)
+  if (priv->child_type == LABEL_CHILD && priv->child != NULL)
     gtk_label_set_use_underline (GTK_LABEL (priv->child), priv->use_underline);
 
   g_object_notify_by_pspec (G_OBJECT (self), props[PROP_USE_UNDERLINE]);