commit dc38ae873a8bbfb1bece55e9bd8b20c7ef999f0e
Author: Georg Baum <[email protected]>
Date:   Sun Apr 24 20:12:43 2016 +0200

    Fix bug 10074 (regression)
    
    This was a regression of 8aa37c43. I did not take into account that end_pos
    could be -1, so the code that checked whether a pair of braces needs to be
    inserted between two hyphens did not work for that case. Now we check for
    the length of text_, which should be done anyway, and only take end_pos into
    account when it is not -1.

diff --git a/src/Paragraph.cpp b/src/Paragraph.cpp
index 9fe4de8..a405b6a 100644
--- a/src/Paragraph.cpp
+++ b/src/Paragraph.cpp
@@ -1192,7 +1192,9 @@ void Paragraph::Private::latexSpecialChar(otexstream & os,
                break;
        case '-':
                os << '-';
-               if (i + 1 < end_pos && text_[i+1] == '-') {
+               if (i + 1 < static_cast<pos_type>(text_.size()) &&
+                   (end_pos == -1 || i + 1 < end_pos) &&
+                   text_[i+1] == '-') {
                        // Prevent "--" becoming an endash and "---" becoming
                        // an emdash.
                        // Within \ttfamily, "--" is merged to "-" (no endash)

Reply via email to