From e7c66d982338701a19a5090afa7a007578a363c7 Mon Sep 17 00:00:00 2001 From: cyreve Date: Tue, 16 Sep 2008 22:08:41 +0000 Subject: [PATCH] bug 202103: crash then putting text containing a soft hyphen character (u00AD) onto a path --- src/libnrtype/Layout-TNG-Output.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/libnrtype/Layout-TNG-Output.cpp b/src/libnrtype/Layout-TNG-Output.cpp index d4df3ee37..a93993c56 100644 --- a/src/libnrtype/Layout-TNG-Output.cpp +++ b/src/libnrtype/Layout-TNG-Output.cpp @@ -450,9 +450,10 @@ void Layout::fitToPathAlign(SVGLength const &startOffset, Path const &path) double character_advance; Span const &span = _characters[char_index].span(this); - for (next_cluster_char_index = char_index + 1 ; - next_cluster_char_index < _characters.size() && !_characters[next_cluster_char_index].char_attributes.is_cursor_position; - next_cluster_char_index++); + for (next_cluster_char_index = char_index + 1 ; next_cluster_char_index < _characters.size() ; next_cluster_char_index++) { + if (_characters[next_cluster_char_index].in_glyph != -1 && _characters[next_cluster_char_index].char_attributes.is_cursor_position) + break; + } if (next_cluster_char_index == _characters.size()) { next_cluster_glyph_index = _glyphs.size(); -- 2.30.2