From c39cc1557360d581a38c1e1b981b99bd5f5633f3 Mon Sep 17 00:00:00 2001 From: Matthias Clasen <mclasen@redhat.com> Date: Mon, 22 Jul 2019 17:42:25 -0700 Subject: text view: Fix incomplete invalidation Update the cached text style when a css change affects content or background. This fixes text views drawing black-on-dark when switching to the dark theme. --- gtk/gtktextview.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'gtk/gtktextview.c') diff --git a/gtk/gtktextview.c b/gtk/gtktextview.c index 4b30b8d653..db358cef01 100644 --- a/gtk/gtktextview.c +++ b/gtk/gtktextview.c @@ -4573,11 +4573,15 @@ gtk_text_view_style_updated (GtkWidget *widget) style_context = gtk_widget_get_style_context (widget); change = gtk_style_context_get_change (style_context); - if ((change == NULL || gtk_css_style_change_affects (change, GTK_CSS_AFFECTS_TEXT)) && + if ((change == NULL || + gtk_css_style_change_affects (change, GTK_CSS_AFFECTS_TEXT | + GTK_CSS_AFFECTS_BACKGROUND | + GTK_CSS_AFFECTS_CONTENT)) && priv->layout && priv->layout->default_style) { gtk_text_view_set_attributes_from_style (text_view, priv->layout->default_style); + gtk_text_layout_default_style_changed (priv->layout); ltr_context = gtk_widget_create_pango_context (widget); pango_context_set_base_dir (ltr_context, PANGO_DIRECTION_LTR); -- cgit v1.2.1