text: Fix sticky preedit attrs
authorMatthias Clasen <mclasen@redhat.com>
Thu, 18 Feb 2021 04:25:31 +0000 (23:25 -0500)
committerMatthias Clasen <mclasen@redhat.com>
Thu, 18 Feb 2021 04:25:31 +0000 (23:25 -0500)
In some cases, we were inadvertedly merging the
preedit attributes into priv->attrs, instead of
keeping them separate. This was causing the underlines
to grow beyond the preedit and never go away. One
place where this was showing up is the fontchooser
preview.

Fixes: #3679
gtk/gtktext.c

index 6d10722e6b89b6a2d9c4bd6b07ecdac6eef5aa03..39847500345297aea198cac62f82baa837e13947 100644 (file)
@@ -4365,9 +4365,9 @@ gtk_text_create_layout (GtkText  *self,
   pango_layout_set_single_paragraph_mode (layout, TRUE);
 
   tmp_attrs = gtk_css_style_get_pango_attributes (gtk_css_node_get_style (gtk_widget_get_css_node (widget)));
-  tmp_attrs = _gtk_pango_attr_list_merge (tmp_attrs, priv->attrs);
   if (!tmp_attrs)
     tmp_attrs = pango_attr_list_new ();
+  tmp_attrs = _gtk_pango_attr_list_merge (tmp_attrs, priv->attrs);
 
   display_text = gtk_text_get_display_text (self, 0, -1);