[pango/wip/baedert/for-master] layout: Try to avoid another attrlist duplication
- From: Timm Bäder <baedert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [pango/wip/baedert/for-master] layout: Try to avoid another attrlist duplication
- Date: Fri, 17 Apr 2020 18:04:51 +0000 (UTC)
commit 7489aa372a00139bc281be7907c136e2dbaa6e34
Author: Timm Bäder <mail baedert org>
Date: Fri Apr 17 20:03:12 2020 +0200
layout: Try to avoid another attrlist duplication
pango/pango-layout.c | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)
---
diff --git a/pango/pango-layout.c b/pango/pango-layout.c
index 07a32664..04cfd789 100644
--- a/pango/pango-layout.c
+++ b/pango/pango-layout.c
@@ -4097,14 +4097,21 @@ get_items_log_attrs (const char *text,
static PangoAttrList *
pango_layout_get_effective_attributes (PangoLayout *layout)
{
+ const gboolean needs_font_desc_attr = layout->font_desc != NULL;
+ const gboolean needs_single_para_attr = layout->single_paragraph;
PangoAttrList *attrs;
if (layout->attrs)
- attrs = pango_attr_list_copy (layout->attrs);
+ {
+ if (needs_font_desc_attr || needs_single_para_attr)
+ attrs = pango_attr_list_copy (layout->attrs);
+ else
+ return pango_attr_list_ref (layout->attrs);
+ }
else
attrs = NULL;
- if (layout->font_desc)
+ if (needs_font_desc_attr)
{
PangoAttribute *attr = pango_attr_font_desc_new (layout->font_desc);
@@ -4114,7 +4121,7 @@ pango_layout_get_effective_attributes (PangoLayout *layout)
pango_attr_list_insert_before (attrs, attr);
}
- if (layout->single_paragraph)
+ if (needs_single_para_attr)
{
PangoAttribute *attr = pango_attr_show_new (PANGO_SHOW_LINE_BREAKS);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]