From a8cb48d45385f9b4baeec7793ad099303a75b63e Mon Sep 17 00:00:00 2001 From: martin Date: Mon, 18 May 2015 20:27:02 +0000 Subject: [PATCH] SynEdit: fixed wrong clipped caret (works in trunk due to refactor) Issue #0028019 git-svn-id: branches/fixes_1_4@49089 - --- components/synedit/syneditpointclasses.pas | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/components/synedit/syneditpointclasses.pas b/components/synedit/syneditpointclasses.pas index cbb9d271fa..5ab16881b5 100644 --- a/components/synedit/syneditpointclasses.pas +++ b/components/synedit/syneditpointclasses.pas @@ -361,7 +361,7 @@ type FCustomOffsetX, FCustomOffsetY: Array [TSynCaretType] of Integer; FCurrentPosX, FCurrentPosY: Integer; FCurrentVisible, FCurrentCreated: Boolean; - FCurrentClippedWidth: Integer; + FCurrentClippedWidth, FCurrentClippedHeight: Integer; FLockCount: Integer; FLockFlags: TSynCaretLockFlags; procedure SetClipBottom(const AValue: Integer); @@ -2236,6 +2236,7 @@ begin FCurrentPosX := -1; FCurrentPosY := -1; FCurrentClippedWidth := -1; + FCurrentClippedHeight := -1; FClipExtraPixel := 0; FLockCount := 0; end; @@ -2522,7 +2523,7 @@ begin exit; end; - if (not FCurrentCreated) or (FCurrentClippedWidth <> w) then begin + if (not FCurrentCreated) or (FCurrentClippedWidth <> w) or (FCurrentClippedHeight <> h) then begin {$IFDeF SynCaretDebug} debugln(['SynEditCaret CreateCaret for HandleOwner=',FHandleOwner, ' DebugShowCount=', FDebugShowCount, ' Width=', w, ' pref-width=', FPixelWidth, ' Height=', FPixelHeight, ' FCurrentCreated=',FCurrentCreated, ' FCurrentVisible=',FCurrentVisible]); FDebugShowCount := 0; @@ -2534,6 +2535,7 @@ begin FCurrentCreated := True; FCurrentVisible := False; FCurrentClippedWidth := w; + FCurrentClippedHeight := h; FCurrentPosX := x - 1; SetCaretRespondToFocus(Handle, False); // Only for GTK end;