From: Matthias Clasen Date: Fri, 6 Jan 2017 00:40:12 +0000 (-0500) Subject: Revert "Use CSS for styling links in labels" X-Git-Tag: archive/raspbian/3.24.39-1+rpi1~1^2~65^2~39^2~901 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=41b14fd148a5eda9dacd2e9b847ab480f99cc2a7;p=gtk%2B3.0.git Revert "Use CSS for styling links in labels" This reverts commit 34264667ed844dd9212e987852e06d2bbba54e66. --- diff --git a/gtk/gtklabel.c b/gtk/gtklabel.c index 97ee4791bd..9e2b00296c 100644 --- a/gtk/gtklabel.c +++ b/gtk/gtklabel.c @@ -3481,18 +3481,6 @@ G_GNUC_END_IGNORE_DEPRECATIONS } } -static gboolean -filter_func (PangoAttribute *attribute, - gpointer data) -{ - GtkLabelLink *link = data; - - attribute->start_index = link->start; - attribute->end_index = link->end; - - return FALSE; -} - static void gtk_label_update_layout_attributes (GtkLabel *label) { @@ -3509,6 +3497,8 @@ gtk_label_update_layout_attributes (GtkLabel *label) if (priv->select_info && priv->select_info->links) { + GdkRGBA link_color; + PangoAttribute *attribute; GList *list; attrs = pango_attr_list_new (); @@ -3517,14 +3507,21 @@ gtk_label_update_layout_attributes (GtkLabel *label) { GtkLabelLink *link = list->data; + attribute = pango_attr_underline_new (TRUE); + attribute->start_index = link->start; + attribute->end_index = link->end; + pango_attr_list_insert (attrs, attribute); + gtk_style_context_save_to_node (context, link->cssnode); - style_attrs = _gtk_style_context_get_pango_attributes (context); - if (style_attrs) - { - pango_attr_list_filter (style_attrs, filter_func, link); - attrs = _gtk_pango_attr_list_merge (attrs, style_attrs); - } + gtk_style_context_get_color (context, gtk_style_context_get_state (context), &link_color); gtk_style_context_restore (context); + + attribute = pango_attr_foreground_new (link_color.red * 65535, + link_color.green * 65535, + link_color.blue * 65535); + attribute->start_index = link->start; + attribute->end_index = link->end; + pango_attr_list_insert (attrs, attribute); } } else if (priv->markup_attrs && priv->attrs)