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