aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/KeyWords.cxx9
-rw-r--r--src/LexCPP.cxx5
2 files changed, 8 insertions, 6 deletions
diff --git a/src/KeyWords.cxx b/src/KeyWords.cxx
index 265dbf565..d954a64e2 100644
--- a/src/KeyWords.cxx
+++ b/src/KeyWords.cxx
@@ -68,8 +68,15 @@ void LexerModule::Lex(unsigned int startPos, int lengthDoc, int initStyle,
void LexerModule::Fold(unsigned int startPos, int lengthDoc, int initStyle,
WordList *keywordlists[], Accessor &styler) {
- if (fnFolder)
+ if (fnFolder) {
+ int lineCurrent = styler.GetLine(startPos);
+ // Move back one line in case deletion wrecked current line fold state
+ if (lineCurrent > 0) {
+ lineCurrent--;
+ startPos = styler.LineStart(lineCurrent);
+ }
fnFolder(startPos, lengthDoc, initStyle, keywordlists, styler);
+ }
}
static void ColouriseNullDoc(unsigned int startPos, int length, int, WordList *[],
diff --git a/src/LexCPP.cxx b/src/LexCPP.cxx
index c5e55df8b..0b1e532c4 100644
--- a/src/LexCPP.cxx
+++ b/src/LexCPP.cxx
@@ -335,11 +335,6 @@ static void FoldCppDoc(unsigned int startPos, int length, int initStyle, WordLis
unsigned int endPos = startPos + length;
int visibleChars = 0;
int lineCurrent = styler.GetLine(startPos);
- // Move back one line in case deletion wrecked current line fold state
- if (lineCurrent > 0) {
- lineCurrent--;
- startPos = styler.LineStart(lineCurrent);
- }
int levelPrev = styler.LevelAt(lineCurrent) & SC_FOLDLEVELNUMBERMASK;
int levelCurrent = levelPrev;
char chNext = styler[startPos];