diff options
| author | Richard Hughes <cyreve@gmail.com> | 2008-09-16 22:08:41 +0000 |
|---|---|---|
| committer | cyreve <cyreve@users.sourceforge.net> | 2008-09-16 22:08:41 +0000 |
| commit | d3e7484d437a25fecb1c6ba7c2c22d98424f9d39 (patch) | |
| tree | 7d95a4bbd7bb6d64e7b58d7b191d09c83e4817be /src/libnrtype | |
| parent | Fix some bugs introduced by the preferences rewrite. (diff) | |
| download | inkscape-d3e7484d437a25fecb1c6ba7c2c22d98424f9d39.tar.gz inkscape-d3e7484d437a25fecb1c6ba7c2c22d98424f9d39.zip | |
bug 202103: crash then putting text containing a soft hyphen character (u00AD) onto a path
(bzr r6827)
Diffstat (limited to 'src/libnrtype')
| -rw-r--r-- | src/libnrtype/Layout-TNG-Output.cpp | 7 |
1 files 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(); |
