- fix: app will become very slow when processing very long lines.
This commit is contained in:
parent
183efb93c7
commit
e161ec42ae
1
NEWS.md
1
NEWS.md
|
@ -6,6 +6,7 @@ Red Panda C++ Version 0.13.3
|
||||||
- change: symbols that exactly match are sorted to the front in the code suggestion popup list
|
- change: symbols that exactly match are sorted to the front in the code suggestion popup list
|
||||||
- fix: symbols defind locally should be sorted to the front in the code suggestion popup list
|
- fix: symbols defind locally should be sorted to the front in the code suggestion popup list
|
||||||
- fix: when show function tips, can't correctly calcuate the current position in the function param list
|
- fix: when show function tips, can't correctly calcuate the current position in the function param list
|
||||||
|
- fix: app will become very slow when processing very long lines.
|
||||||
|
|
||||||
Red Panda C++ Version 0.13.2
|
Red Panda C++ Version 0.13.2
|
||||||
- fix: "delete and exit" button in the environtment / folder option page doesn't work correctly
|
- fix: "delete and exit" button in the environtment / folder option page doesn't work correctly
|
||||||
|
|
|
@ -995,7 +995,7 @@ void SynEditTextPainter::PaintLines()
|
||||||
throw BaseError(SynEdit::tr("The highlighter seems to be in an infinite loop"));
|
throw BaseError(SynEdit::tr("The highlighter seems to be in an infinite loop"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
nTokenColumnsBefore = edit->charToColumn(sLine,edit->mHighlighter->getTokenPos()+1)-1;
|
//nTokenColumnsBefore = edit->charToColumn(sLine,edit->mHighlighter->getTokenPos()+1)-1;
|
||||||
nTokenColumnLen = edit->stringColumns(sToken, nTokenColumnsBefore);
|
nTokenColumnLen = edit->stringColumns(sToken, nTokenColumnsBefore);
|
||||||
if (nTokenColumnsBefore + nTokenColumnLen >= vFirstChar) {
|
if (nTokenColumnsBefore + nTokenColumnLen >= vFirstChar) {
|
||||||
if (nTokenColumnsBefore + nTokenColumnLen >= vLastChar) {
|
if (nTokenColumnsBefore + nTokenColumnLen >= vLastChar) {
|
||||||
|
@ -1040,11 +1040,12 @@ void SynEditTextPainter::PaintLines()
|
||||||
AddHighlightToken(sToken, nTokenColumnsBefore - (vFirstChar - FirstCol),
|
AddHighlightToken(sToken, nTokenColumnsBefore - (vFirstChar - FirstCol),
|
||||||
nTokenColumnLen, vLine,attr);
|
nTokenColumnLen, vLine,attr);
|
||||||
}
|
}
|
||||||
|
nTokenColumnsBefore+=nTokenColumnLen;
|
||||||
// Let the highlighter scan the next token.
|
// Let the highlighter scan the next token.
|
||||||
edit->mHighlighter->next();
|
edit->mHighlighter->next();
|
||||||
}
|
}
|
||||||
// Don't assume HL.GetTokenPos is valid after HL.GetEOL == True.
|
// Don't assume HL.GetTokenPos is valid after HL.GetEOL == True.
|
||||||
nTokenColumnsBefore += edit->stringColumns(sToken,nTokenColumnsBefore);
|
//nTokenColumnsBefore += edit->stringColumns(sToken,nTokenColumnsBefore);
|
||||||
if (edit->mHighlighter->eol() && (nTokenColumnsBefore < vLastChar)) {
|
if (edit->mHighlighter->eol() && (nTokenColumnsBefore < vLastChar)) {
|
||||||
int lineColumns = edit->mLines->lineColumns(vLine-1);
|
int lineColumns = edit->mLines->lineColumns(vLine-1);
|
||||||
// Draw text that couldn't be parsed by the highlighter, if any.
|
// Draw text that couldn't be parsed by the highlighter, if any.
|
||||||
|
|
Loading…
Reference in New Issue