summaryrefslogtreecommitdiffstats
path: root/wayland/pango.c
diff options
context:
space:
mode:
Diffstat (limited to 'wayland/pango.c')
-rw-r--r--wayland/pango.c6
1 files changed, 4 insertions, 2 deletions
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
11 int32_t scale, bool markup) { 11 int32_t scale, bool markup) {
12 PangoLayout *layout = pango_cairo_create_layout(cairo); 12 PangoLayout *layout = pango_cairo_create_layout(cairo);
13 PangoAttrList *attrs = pango_attr_list_new(); 13 PangoAttrList *attrs = pango_attr_list_new();
14 char *buf = malloc(2048);
14 if (markup) { 15 if (markup) {
15 pango_parse_markup(text, -1, 0, &attrs, NULL, NULL, NULL); 16 pango_parse_markup(text, -1, 0, &attrs, &buf, NULL, NULL);
16 pango_layout_set_markup(layout, text, -1); 17 pango_layout_set_markup(layout, buf, -1);
17 } else { 18 } else {
18 pango_layout_set_text(layout, text, -1); 19 pango_layout_set_text(layout, text, -1);
19 } 20 }
@@ -24,6 +25,7 @@ PangoLayout *get_pango_layout(cairo_t *cairo, const char *font, const char *text
24 pango_layout_set_attributes(layout, attrs); 25 pango_layout_set_attributes(layout, attrs);
25 pango_attr_list_unref(attrs); 26 pango_attr_list_unref(attrs);
26 pango_font_description_free(desc); 27 pango_font_description_free(desc);
28 free(buf);
27 return layout; 29 return layout;
28} 30}
29 31