synedit: set DoubleBuffered in Loaded and not in constructor

git-svn-id: trunk@57313 -
This commit is contained in:
ondrej 2018-02-16 14:03:40 +00:00
parent 04519400dc
commit 2d90a836ed

View File

@ -98,13 +98,7 @@ uses
SynGutterBase, SynGutter, SynGutterCodeFolding, SynGutterChanges, SynGutterBase, SynGutter, SynGutterCodeFolding, SynGutterChanges,
SynGutterLineNumber, SynGutterMarks, SynGutterLineOverview, SynGutterLineNumber, SynGutterMarks, SynGutterLineOverview,
SynEditMiscClasses, SynEditHighlighter, LazSynTextArea, SynTextDrawer, SynEditTextBidiChars, SynEditMiscClasses, SynEditHighlighter, LazSynTextArea, SynTextDrawer, SynEditTextBidiChars,
LResources, Clipbrd, StdActns LResources, Clipbrd, StdActns;
{$IF DEFINED(LCLWin32)}
, win32proc
{$ENDIF}
;
const const
ScrollBarWidth=0; ScrollBarWidth=0;
@ -2109,11 +2103,6 @@ begin
RecreateMarkList; RecreateMarkList;
{$IF NOT DEFINED(EnableDoubleBuf) AND DEFINED(LCLWin32)}
if not (csDesigning in ComponentState) then
DoubleBuffered := ((WindowsVersion <= wvVista) and (GetSystemMetrics(SM_REMOTESESSION)=0));
{$ENDIF}
fTextDrawer := TheTextDrawer.Create([fsBold], fFontDummy); fTextDrawer := TheTextDrawer.Create([fsBold], fFontDummy);
{$IFDEF WithSynExperimentalCharWidth} {$IFDEF WithSynExperimentalCharWidth}
FSysCharWidthLinesView.TextDrawer := fTextDrawer; FSysCharWidthLinesView.TextDrawer := fTextDrawer;
@ -2978,6 +2967,9 @@ procedure TCustomSynEdit.Loaded;
begin begin
inherited Loaded; inherited Loaded;
UpdateCaret; UpdateCaret;
if not (csDesigning in ComponentState) then
DoubleBuffered := DoubleBuffered or (GetSystemMetrics(SM_REMOTESESSION)=0); // force DoubleBuffered if not used in remote session
end; end;
procedure TCustomSynEdit.UTF8KeyPress(var Key: TUTF8Char); procedure TCustomSynEdit.UTF8KeyPress(var Key: TUTF8Char);