diff options
author | Matthias Clasen <mclasen@redhat.com> | 2019-07-22 17:42:25 -0700 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2019-07-23 10:41:43 -0400 |
commit | c39cc1557360d581a38c1e1b981b99bd5f5633f3 (patch) | |
tree | db89d5eede1cb9d56d7f4e28965c6f3461105122 /gtk/gtktextview.c | |
parent | 8999bb0b78c745faece52c07f9f9cc48a43decc8 (diff) | |
download | gtk+-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.c | 6 |
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); |