diff options
author | nyamatongwe <devnull@localhost> | 2013-04-25 09:38:06 +1000 |
---|---|---|
committer | nyamatongwe <devnull@localhost> | 2013-04-25 09:38:06 +1000 |
commit | 476950a6ae073471d2cd112c40d60f76d1e4db81 (patch) | |
tree | c4bca82bd1b774c34c7546ff01f928fade1bbfc6 /lexlib/StyleContext.h | |
parent | 1b4e97f8b5e628af033612e12e647718f8d5ee84 (diff) | |
download | scintilla-mirror-476950a6ae073471d2cd112c40d60f76d1e4db81.tar.gz |
Fix bug with setting atLineEnd at end of document.
Diffstat (limited to 'lexlib/StyleContext.h')
-rw-r--r-- | lexlib/StyleContext.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lexlib/StyleContext.h b/lexlib/StyleContext.h index 2d3cfc1fc..c79d42e37 100644 --- a/lexlib/StyleContext.h +++ b/lexlib/StyleContext.h @@ -76,7 +76,7 @@ class StyleContext { // End of line? // Trigger on CR only (Mac style) or either on LF from CR+LF (Dos/Win) // or on LF alone (Unix). Avoid triggering two times on Dos/Win. - if (lineStartNext < styler.Length()) + if (currentLine < lineDocEnd) atLineEnd = static_cast<int>(pos) >= (lineStartNext-1); else // Last line atLineEnd = static_cast<int>(pos) >= lineStartNext; @@ -85,6 +85,7 @@ class StyleContext { public: unsigned int currentPos; int currentLine; + int lineDocEnd; int lineStartNext; bool atLineStart; bool atLineEnd; @@ -112,6 +113,7 @@ public: lengthDocument = static_cast<unsigned int>(styler.Length()); if (endPos == lengthDocument) endPos++; + lineDocEnd = styler.GetLine(lengthDocument); atLineStart = static_cast<unsigned int>(styler.LineStart(currentLine)) == startPos; unsigned int pos = currentPos; ch = static_cast<unsigned char>(styler.SafeGetCharAt(pos, 0)); |