summaryrefslogtreecommitdiff
path: root/gtk/gtktextview.c
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2019-07-22 17:42:25 -0700
committerMatthias Clasen <mclasen@redhat.com>2019-07-23 10:41:43 -0400
commitc39cc1557360d581a38c1e1b981b99bd5f5633f3 (patch)
treedb89d5eede1cb9d56d7f4e28965c6f3461105122 /gtk/gtktextview.c
parent8999bb0b78c745faece52c07f9f9cc48a43decc8 (diff)
downloadgtk+-c39cc1557360d581a38c1e1b981b99bd5f5633f3.tar.gz
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.
Diffstat (limited to 'gtk/gtktextview.c')
-rw-r--r--gtk/gtktextview.c6
1 files changed, 5 insertions, 1 deletions
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);