mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-14 20:59:06 +02:00
SynEdit: Add check for nil / Improve comments
git-svn-id: trunk@63450 -
This commit is contained in:
parent
8fb8e98b28
commit
9afc716aa9
@ -2692,8 +2692,14 @@ begin
|
|||||||
|
|
||||||
// When fixed FCaret, FBlockSelection, FTrimmedLinesView can move here
|
// When fixed FCaret, FBlockSelection, FTrimmedLinesView can move here
|
||||||
FFoldedLinesView.UnLock; // after ScanRanges, but before UpdateCaret
|
FFoldedLinesView.UnLock; // after ScanRanges, but before UpdateCaret
|
||||||
// must be last => May call MoveCaretToVisibleArea, which must only happen
|
(* FFoldedLinesView.UnLock
|
||||||
// after unfold
|
Any unfold (caused by caret move) will be done (deferred) in UnLock.
|
||||||
|
UpdateCaret may call MoveCaretToVisibleArea (which depends on what is folded)
|
||||||
|
Therefore UnLock must be called before UpdateCaret
|
||||||
|
|
||||||
|
Caret.Unlock must be done before UpdateCaret, because it sends the events
|
||||||
|
to FFoldedLinesView which triggers any unfold.
|
||||||
|
*)
|
||||||
|
|
||||||
Dec(FPaintLock);
|
Dec(FPaintLock);
|
||||||
if (FPaintLock = 0) and HandleAllocated then begin
|
if (FPaintLock = 0) and HandleAllocated then begin
|
||||||
|
@ -24,7 +24,6 @@ of this file under either the MPL or the GPL.
|
|||||||
unit SynEditFoldedView;
|
unit SynEditFoldedView;
|
||||||
|
|
||||||
{$mode objfpc}{$H+}
|
{$mode objfpc}{$H+}
|
||||||
{$coperators on}
|
|
||||||
{$IFDEF CPUPOWERPC} {$INLINE OFF} {$ENDIF} (* Workaround for bug 12576 (fpc) see bugs.freepascal.org/view.php?id=12576 *)
|
{$IFDEF CPUPOWERPC} {$INLINE OFF} {$ENDIF} (* Workaround for bug 12576 (fpc) see bugs.freepascal.org/view.php?id=12576 *)
|
||||||
|
|
||||||
{$IFOPT C+}
|
{$IFOPT C+}
|
||||||
@ -57,7 +56,12 @@ uses
|
|||||||
|
|
||||||
type
|
type
|
||||||
|
|
||||||
TFoldNodeClassification = (fncInvalid, fncHighlighter, fncHighlighterEx, fncBlockSelection);
|
TFoldNodeClassification = (
|
||||||
|
fncInvalid,
|
||||||
|
fncHighlighter, // Fold provided by HL
|
||||||
|
fncHighlighterEx, // Fold originally provided by HL, but no longer exists in HL (text edited)
|
||||||
|
fncBlockSelection
|
||||||
|
);
|
||||||
TFoldNodeClassifications = set of TFoldNodeClassification;
|
TFoldNodeClassifications = set of TFoldNodeClassification;
|
||||||
|
|
||||||
{ TSynTextFoldAVLNodeData }
|
{ TSynTextFoldAVLNodeData }
|
||||||
@ -2968,7 +2972,8 @@ procedure TSynEditFoldProvider.SetLines(AValue: TSynEditStrings);
|
|||||||
begin
|
begin
|
||||||
if FLines = AValue then Exit;
|
if FLines = AValue then Exit;
|
||||||
FLines := AValue;
|
FLines := AValue;
|
||||||
FNestedFoldsList.Lines := FLines;
|
if FNestedFoldsList <> nil then
|
||||||
|
FNestedFoldsList.Lines := FLines;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
constructor TSynEditFoldProvider.Create;
|
constructor TSynEditFoldProvider.Create;
|
||||||
|
Loading…
Reference in New Issue
Block a user