diff options
author | Matthias Clasen <mclasen@redhat.com> | 2020-09-12 18:16:10 +0000 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2020-09-12 18:16:10 +0000 |
commit | 754bd1814d33ff374a4a265bd399549269f2ce06 (patch) | |
tree | 35c6925c54ee5e65dedace908f10df61518563d3 | |
parent | 34f7aa27db13f19a73954cdf9e9a2701c2387ce3 (diff) | |
parent | 42e1738baebbf82e71d2a8f156b023339d0a4c92 (diff) | |
download | pango-754bd1814d33ff374a4a265bd399549269f2ce06.tar.gz |
Merge branch 'offsetfix' into 'master'
Let get_items_log_attrs take the start-of-text offset into account
See merge request GNOME/pango!236
-rw-r--r-- | pango/pango-layout.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/pango/pango-layout.c b/pango/pango-layout.c index 7d5b9b10..68ffd190 100644 --- a/pango/pango-layout.c +++ b/pango/pango-layout.c @@ -4088,6 +4088,7 @@ process_line (PangoLayout *layout, static void get_items_log_attrs (const char *text, + int start, int length, GList *items, PangoLogAttr *log_attrs, @@ -4096,11 +4097,13 @@ get_items_log_attrs (const char *text, int offset = 0; GList *l; - pango_default_break (text, length, NULL, log_attrs, log_attrs_len); + pango_default_break (text + start, length, NULL, log_attrs, log_attrs_len); for (l = items; l; l = l->next) { PangoItem *item = l->data; + g_assert (item->offset <= start + length); + g_assert (item->length <= (start + length) - item->offset); pango_tailor_break (text + item->offset, item->length, @@ -4371,7 +4374,8 @@ pango_layout_check_lines (PangoLayout *layout) apply_attributes_to_items (state.items, shape_attrs); - get_items_log_attrs (start, + get_items_log_attrs (layout->text, + start - layout->text, delimiter_index + delim_len, state.items, layout->log_attrs + start_offset, |