diff options
-rw-r--r-- | src/libs/qmljs/parser/qmljslexer.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/libs/qmljs/parser/qmljslexer.cpp b/src/libs/qmljs/parser/qmljslexer.cpp index 0ae581724d..97f33bdda6 100644 --- a/src/libs/qmljs/parser/qmljslexer.cpp +++ b/src/libs/qmljs/parser/qmljslexer.cpp @@ -877,12 +877,13 @@ int Lexer::scanString(ScanStringMode mode) // in case we just parsed a \r, we need to reset this flag to get things working // correctly in the loop below and afterwards _skipLinefeed = false; - + bool first = true; if (_engine) { while (_codePtr <= _endPtr) { if (isLineTerminator()) { if ((quote == QLatin1Char('`') || qmlMode())) { - --_currentLineNumber; + if (first) + --_currentLineNumber; break; } _errorCode = IllegalCharacter; @@ -910,6 +911,7 @@ int Lexer::scanString(ScanStringMode mode) // don't use scanChar() here, that would transform \r sequences and the midRef() call would create the wrong result _char = *_codePtr++; ++_currentColumnNumber; + first = false; } } |