summaryrefslogtreecommitdiff
path: root/pango/pango-glyph-item.c
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2020-06-08 17:41:58 +0000
committerMatthias Clasen <mclasen@redhat.com>2020-06-08 17:41:58 +0000
commit8175bfe7ebbdd885cfdab857783aa2e5f7c136e4 (patch)
tree7d358946ca78f9fd242aeed26c44a1fbb2e47982 /pango/pango-glyph-item.c
parent1fb9e50c73bb8c6389c7eaa9adb2eee13642d2ff (diff)
parent4d8e71471984fb0fc147d1a64695ad5f18576fde (diff)
downloadpango-8175bfe7ebbdd885cfdab857783aa2e5f7c136e4.tar.gz
Merge branch 'wip/baedert/for-master2' into 'master'
Wip/baedert/for master2 See merge request GNOME/pango!190
Diffstat (limited to 'pango/pango-glyph-item.c')
-rw-r--r--pango/pango-glyph-item.c20
1 files changed, 11 insertions, 9 deletions
diff --git a/pango/pango-glyph-item.c b/pango/pango-glyph-item.c
index eb880608..326ae37f 100644
--- a/pango/pango-glyph-item.c
+++ b/pango/pango-glyph-item.c
@@ -24,6 +24,7 @@
#include "pango-glyph-item.h"
#include "pango-impl-utils.h"
+#include "pango-attributes-private.h"
#define LTR(glyph_item) (((glyph_item)->item->analysis.level % 2) == 0)
@@ -584,7 +585,7 @@ pango_glyph_item_apply_attrs (PangoGlyphItem *glyph_item,
const char *text,
PangoAttrList *list)
{
- PangoAttrIterator *iter = pango_attr_list_get_iterator (list);
+ PangoAttrIterator iter;
GSList *result = NULL;
ApplyAttrsState state;
gboolean start_new_segment = FALSE;
@@ -607,15 +608,16 @@ pango_glyph_item_apply_attrs (PangoGlyphItem *glyph_item,
/* Advance the attr iterator to the start of the item
*/
+ _pango_attr_list_get_iterator (list, &iter);
do
{
- pango_attr_iterator_range (iter, &range_start, &range_end);
+ pango_attr_iterator_range (&iter, &range_start, &range_end);
if (range_end > glyph_item->item->offset)
break;
}
- while (pango_attr_iterator_next (iter));
+ while (pango_attr_iterator_next (&iter));
- state.segment_attrs = pango_attr_iterator_get_attrs (iter);
+ state.segment_attrs = pango_attr_iterator_get_attrs (&iter);
is_ellipsis = (glyph_item->item->analysis.flags & PANGO_ANALYSIS_FLAG_IS_ELLIPSIS) != 0;
@@ -644,7 +646,7 @@ pango_glyph_item_apply_attrs (PangoGlyphItem *glyph_item,
{
result = g_slist_prepend (result,
split_before_cluster_start (&state));
- state.segment_attrs = pango_attr_iterator_get_attrs (iter);
+ state.segment_attrs = pango_attr_iterator_get_attrs (&iter);
}
start_new_segment = FALSE;
@@ -663,8 +665,8 @@ pango_glyph_item_apply_attrs (PangoGlyphItem *glyph_item,
*/
start_new_segment = TRUE;
- have_next = pango_attr_iterator_next (iter);
- pango_attr_iterator_range (iter, &range_start, &range_end);
+ have_next = pango_attr_iterator_next (&iter);
+ pango_attr_iterator_range (&iter, &range_start, &range_end);
if (range_start >= state.iter.end_index) /* New range doesn't intersect this cluster */
{
@@ -688,7 +690,7 @@ pango_glyph_item_apply_attrs (PangoGlyphItem *glyph_item,
}
state.segment_attrs = g_slist_concat (state.segment_attrs,
- pango_attr_iterator_get_attrs (iter));
+ pango_attr_iterator_get_attrs (&iter));
}
while (have_next);
}
@@ -702,7 +704,7 @@ pango_glyph_item_apply_attrs (PangoGlyphItem *glyph_item,
if (LTR (glyph_item))
result = g_slist_reverse (result);
- pango_attr_iterator_destroy (iter);
+ _pango_attr_iterator_destroy (&iter);
return result;
}