cssstyle: set font variations in get_pango_font()
authorTimm Bäder <mail@baedert.org>
Thu, 16 Jan 2020 10:33:12 +0000 (11:33 +0100)
committerTimm Bäder <mail@baedert.org>
Sat, 18 Jan 2020 07:49:52 +0000 (08:49 +0100)
Doesn't make sense to set all the css values on the font description in
there except for the font variations, so do these here as well.

gtk/gtkcssstyle.c
gtk/gtkwidget.c

index 7f840b0045af857fab32dbb9bcec071679d57c37..48c241d9ca4f8ee9b4436ff336db8be58d07211a 100644 (file)
@@ -31,7 +31,7 @@
 #include "gtkcsscolorvalueprivate.h"
 #include "gtkcssshorthandpropertyprivate.h"
 #include "gtkcssstringvalueprivate.h"
-#include "gtkcssfontsizevalueprivate.h"
+#include "gtkcssfontvariationsvalueprivate.h"
 #include "gtkcssfontfeaturesvalueprivate.h"
 #include "gtkcssstylepropertyprivate.h"
 #include "gtkcsstransitionprivate.h"
@@ -429,6 +429,7 @@ gtk_css_style_get_pango_font (GtkCssStyle *style)
 {
   PangoFontDescription *description;
   GtkCssValue *v;
+  char *str;
 
   description = pango_font_description_new ();
 
@@ -466,5 +467,10 @@ gtk_css_style_get_pango_font (GtkCssStyle *style)
   v = gtk_css_style_get_value (style, GTK_CSS_PROPERTY_FONT_STRETCH);
   pango_font_description_set_stretch (description, _gtk_css_font_stretch_value_get (v));
 
+  v = gtk_css_style_get_value (style, GTK_CSS_PROPERTY_FONT_VARIATION_SETTINGS);
+  str = gtk_css_font_variations_value_get_variations (v);
+  pango_font_description_set_variations (description, str);
+  g_free (str);
+
   return description;
 }
index 3225930eda477d62fd1d315f5701cbf8b778e018..2744ba6c90edab51553284f7a5a1321b24b8cc50 100644 (file)
@@ -6587,20 +6587,11 @@ update_pango_context (GtkWidget    *widget,
   PangoFontDescription *font_desc;
   GtkSettings *settings;
   cairo_font_options_t *font_options;
-  GtkCssValue *value;
-  char *variations;
 
   font_desc = gtk_css_style_get_pango_font (style);
-
-  value = _gtk_style_context_peek_property (_gtk_widget_get_style_context (widget), GTK_CSS_PROPERTY_FONT_VARIATION_SETTINGS);
-  variations = gtk_css_font_variations_value_get_variations (value);
-
-  pango_font_description_set_variations (font_desc, variations);
-
   pango_context_set_font_description (context, font_desc);
 
   pango_font_description_free (font_desc);
-  g_free (variations);
 
   pango_context_set_base_dir (context,
                              _gtk_widget_get_direction (widget) == GTK_TEXT_DIR_LTR ?