From 6f2c39610e951b76ff3cc2796c7bd7d3df2d7ba7 Mon Sep 17 00:00:00 2001 From: "D.B" Date: Fri, 7 Oct 2016 11:27:06 +0200 Subject: parse pango markup in workspace names (and bugfix) This change allows using numeric character references in workspace names - for example æ which stands for sharp s. A fix was necessary in get_pango_layout, since markup and parsed markup had different width. --- wayland/pango.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'wayland/pango.c') diff --git a/wayland/pango.c b/wayland/pango.c index 38993243..5781541b 100644 --- a/wayland/pango.c +++ b/wayland/pango.c @@ -11,9 +11,10 @@ PangoLayout *get_pango_layout(cairo_t *cairo, const char *font, const char *text int32_t scale, bool markup) { PangoLayout *layout = pango_cairo_create_layout(cairo); PangoAttrList *attrs = pango_attr_list_new(); + char *buf = malloc(2048); if (markup) { - pango_parse_markup(text, -1, 0, &attrs, NULL, NULL, NULL); - pango_layout_set_markup(layout, text, -1); + pango_parse_markup(text, -1, 0, &attrs, &buf, NULL, NULL); + pango_layout_set_markup(layout, buf, -1); } else { pango_layout_set_text(layout, text, -1); } @@ -24,6 +25,7 @@ PangoLayout *get_pango_layout(cairo_t *cairo, const char *font, const char *text pango_layout_set_attributes(layout, attrs); pango_attr_list_unref(attrs); pango_font_description_free(desc); + free(buf); return layout; } -- cgit v1.2.3-54-g00ecf