diff options
Diffstat (limited to 'gtk/gtktext.c')
-rw-r--r-- | gtk/gtktext.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/gtk/gtktext.c b/gtk/gtktext.c index 9b3a7a014c..d57b994d32 100644 --- a/gtk/gtktext.c +++ b/gtk/gtktext.c @@ -3293,10 +3293,21 @@ static void gtk_text_style_updated (GtkWidget *widget) { GtkText *self = GTK_TEXT (widget); + GtkStyleContext *context; + GtkCssStyleChange *change = NULL; + + context = gtk_widget_get_style_context (widget); + change = gtk_style_context_get_change (context); GTK_WIDGET_CLASS (gtk_text_parent_class)->style_updated (widget); gtk_text_update_cached_style_values (self); + + if (change == NULL || + gtk_css_style_change_affects (change, GTK_CSS_AFFECTS_TEXT | + GTK_CSS_AFFECTS_BACKGROUND | + GTK_CSS_AFFECTS_CONTENT)) + gtk_text_queue_draw (GTK_WIDGET (self)); } static void |