[gtk/wip/baedert/css-values: 9/17] csshorthandproperty: Try to avoid allocating a GString for 1 font
- From: Timm Bäder <baedert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/wip/baedert/css-values: 9/17] csshorthandproperty: Try to avoid allocating a GString for 1 font
- Date: Thu, 16 Jan 2020 10:41:20 +0000 (UTC)
commit 6fe980b3781c8fbc43bb969faf785e8e035f9d44
Author: Timm Bäder <mail baedert org>
Date: Wed Jan 15 13:18:16 2020 +0100
csshorthandproperty: Try to avoid allocating a GString for 1 font
gtk/gtkcssshorthandpropertyimpl.c | 26 +++++++++++++++++---------
1 file changed, 17 insertions(+), 9 deletions(-)
---
diff --git a/gtk/gtkcssshorthandpropertyimpl.c b/gtk/gtkcssshorthandpropertyimpl.c
index 528fe5bb15..08330360f3 100644
--- a/gtk/gtkcssshorthandpropertyimpl.c
+++ b/gtk/gtkcssshorthandpropertyimpl.c
@@ -1144,18 +1144,26 @@ pack_font_description (GtkCssShorthandProperty *shorthand,
v = (* query_func) (GTK_CSS_PROPERTY_FONT_FAMILY, query_data);
if (v)
{
- int i;
- GString *s = g_string_new ("");
+ if (_gtk_css_array_value_get_n_values (v) > 1)
+ {
+ int i;
+ GString *s = g_string_new ("");
+
+ for (i = 0; i < _gtk_css_array_value_get_n_values (v); i++)
+ {
+ if (i > 0)
+ g_string_append (s, ",");
+ g_string_append (s, _gtk_css_string_value_get (_gtk_css_array_value_get_nth (v, i)));
+ }
- for (i = 0; i < _gtk_css_array_value_get_n_values (v); i++)
+ pango_font_description_set_family (description, s->str);
+ g_string_free (s, TRUE);
+ }
+ else
{
- if (i > 0)
- g_string_append (s, ",");
- g_string_append (s, _gtk_css_string_value_get (_gtk_css_array_value_get_nth (v, i)));
+ pango_font_description_set_family (description,
+ _gtk_css_string_value_get (_gtk_css_array_value_get_nth (v,
0)));
}
-
- pango_font_description_set_family (description, s->str);
- g_string_free (s, TRUE);
}
v = (* query_func) (GTK_CSS_PROPERTY_FONT_SIZE, query_data);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]