From dc4314db8b80da925a0cffae8dd9f2343b50d7d3 Mon Sep 17 00:00:00 2001 From: wp_xxyyzz Date: Thu, 30 Mar 2017 12:39:54 +0000 Subject: [PATCH] fpspreadsheet: Fix grid painting into header cells if fixed columns are used. git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5827 8e941d3f-bd1b-0410-a28a-d453659cc2b4 --- .../fpspreadsheet/source/visual/fpspreadsheetgrid.pas | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/components/fpspreadsheet/source/visual/fpspreadsheetgrid.pas b/components/fpspreadsheet/source/visual/fpspreadsheetgrid.pas index 768670fcc..3625094cd 100644 --- a/components/fpspreadsheet/source/visual/fpspreadsheetgrid.pas +++ b/components/fpspreadsheet/source/visual/fpspreadsheetgrid.pas @@ -4123,10 +4123,20 @@ begin if (rct.Left < rct.Right) and HorizontalIntersect(rct, clipArea) then begin + // Define clipping rectangle in order to avoid painting into the header cells clip_rct := rct; clip_rct.Top := AClipRect.Top; clip_rct.Bottom := AClipRect.Bottom; + if (gc >= FHeaderCount + FFrozenCols) then begin + if UseRightToLeftReading then begin + if (clip_rct.Right > FTopLeft.X) then + clip_rct.Right := FTopLeft.X; + end else + if (clip_rct.Left < FTopLeft.X) then + clip_rct.Left := FTopLeft.X; + end; gds := GetGridDrawState(gc, gr); + // Draw cell InternalDrawCell(gc, gr, clip_rct, rct, gds); // Draw comment marker