diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index ee4ae277e0..ff6d59dd8b 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -8162,12 +8162,15 @@ static void gtk_widget_real_style_updated (GtkWidget *widget) { GtkWidgetPrivate *priv = widget->priv; + GtkCssStyleChange *change = NULL; gtk_widget_update_alpha (widget); if (widget->priv->context) + change = gtk_style_context_get_change (widget->priv->context); + + if (change) { - GtkCssStyleChange *change = gtk_style_context_get_change (widget->priv->context); const gboolean has_text = gtk_widget_peek_pango_context (widget) != NULL; if (has_text && gtk_css_style_change_affects (change, GTK_CSS_AFFECTS_TEXT)) @@ -8175,8 +8178,7 @@ gtk_widget_real_style_updated (GtkWidget *widget) if (widget->priv->anchored) { - if (change == NULL || - gtk_css_style_change_affects (change, GTK_CSS_AFFECTS_SIZE) || + if (gtk_css_style_change_affects (change, GTK_CSS_AFFECTS_SIZE) || (has_text && gtk_css_style_change_affects (change, GTK_CSS_AFFECTS_TEXT_SIZE))) { gtk_widget_queue_resize (widget);