fpspeadsheet: Fix infinite loop in TsWorksheet if word-wrapped cell gets narrower than the width of a character.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4463 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2016-01-23 18:15:21 +00:00
parent b4b631c0f8
commit 8a5364b8b7
2 changed files with 7 additions and 4 deletions

View File

@ -2191,9 +2191,9 @@ begin
temp_rct := rct; temp_rct := rct;
// for i := gc1 to gc2 do begin // for i := gc1 to gc2 do begin
for i:= gc2 downto gc1 do begin for i:= gc2 downto gc1 do begin
//starting from last col will insure drawing grid lines below text // Starting from last col will insure drawing grid lines below text
// when text is overflow in RTL and have no problem in LTR // when text is overflow in RTL and have no problem in LTR
// modification by "shobits1" // (Modification by "shobits1" - ok)
ColRowToOffset(true, true, i, temp_rct.Left, temp_rct.Right); ColRowToOffset(true, true, i, temp_rct.Left, temp_rct.Right);
if HorizontalIntersect(temp_rct, clipArea) and (i <> gc) then if HorizontalIntersect(temp_rct, clipArea) and (i <> gc) then
begin begin

View File

@ -1439,6 +1439,9 @@ begin
begin begin
// (b) This is the only word in the line --> we break at the // (b) This is the only word in the line --> we break at the
// current cursor position. // current cursor position.
if Length(part) = 1 then
NextChar(1)
else
UTF8Delete(part, UTF8Length(part), 1); UTF8Delete(part, UTF8Length(part), 1);
end; end;
EOL := true; EOL := true;