Merged revision(s) 61697 #993861b8d4 from trunk:

IDE: fix SynSourceEditor.SetHighlighter, prevent processing events while old HL is still in use.
........

git-svn-id: branches/fixes_2_0@61701 -
This commit is contained in:
maxim 2019-08-15 22:56:49 +00:00
parent c5febdebb9
commit 88bb6cc5f1

View File

@ -1708,29 +1708,34 @@ begin
exit
end;
FMarkupIfDef.Highlighter := nil;
inherited SetHighlighter(Value);
//TSynEditMarkupFoldColors(MarkupByClass[TSynEditMarkupFoldColors]).Highlighter := Highlighter; // XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
if Highlighter is TSynPasSyn then
FMarkupIfDef.Highlighter := TSynPasSyn(Highlighter)
else
IncPaintLock;
try
FMarkupIfDef.Highlighter := nil;
if Highlighter is TSynCustomFoldHighlighter then
FTopInfoNestList.Highlighter := TSynCustomFoldHighlighter(Highlighter)
else
FTopInfoNestList.Highlighter := nil;
inherited SetHighlighter(Value);
if FUserWordsList = nil then
exit;
if Highlighter <> nil then
for i := 0 to FUserWordsList.Count - 1 do
HighlightUserWords[i].WordBreakChars := Highlighter.WordBreakChars + TSynWhiteChars
else
for i := 0 to FUserWordsList.Count - 1 do
HighlightUserWords[i].ResetWordBreaks;
//TSynEditMarkupFoldColors(MarkupByClass[TSynEditMarkupFoldColors]).Highlighter := Highlighter; // XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
if Highlighter is TSynPasSyn then
FMarkupIfDef.Highlighter := TSynPasSyn(Highlighter)
else
FMarkupIfDef.Highlighter := nil;
if Highlighter is TSynCustomFoldHighlighter then
FTopInfoNestList.Highlighter := TSynCustomFoldHighlighter(Highlighter)
else
FTopInfoNestList.Highlighter := nil;
if FUserWordsList = nil then
exit;
if Highlighter <> nil then
for i := 0 to FUserWordsList.Count - 1 do
HighlightUserWords[i].WordBreakChars := Highlighter.WordBreakChars + TSynWhiteChars
else
for i := 0 to FUserWordsList.Count - 1 do
HighlightUserWords[i].ResetWordBreaks;
finally
DecPaintLock;
end;
end;
constructor TIDESynEditor.Create(AOwner: TComponent);