From d3e7484d437a25fecb1c6ba7c2c22d98424f9d39 Mon Sep 17 00:00:00 2001 From: Richard Hughes Date: Tue, 16 Sep 2008 22:08:41 +0000 Subject: bug 202103: crash then putting text containing a soft hyphen character (u00AD) onto a path (bzr r6827) --- src/libnrtype/Layout-TNG-Output.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src/libnrtype') 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(); -- cgit v1.2.3