From 3517fb8a2c63dc5d8d39381e5f1e73d78fbfc4cc Mon Sep 17 00:00:00 2001 From: joshy Date: Tue, 2 Jul 2013 23:27:25 +0000 Subject: [PATCH] Fixed missing assignment of "DIF first sector", now xls files can be bigger than 7 megabytes. git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2758 8e941d3f-bd1b-0410-a28a-d453659cc2b4 --- components/fpspreadsheet/uvirtuallayer_ole_helpers.pas | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/components/fpspreadsheet/uvirtuallayer_ole_helpers.pas b/components/fpspreadsheet/uvirtuallayer_ole_helpers.pas index e1ae1a28f..04f34de05 100644 --- a/components/fpspreadsheet/uvirtuallayer_ole_helpers.pas +++ b/components/fpspreadsheet/uvirtuallayer_ole_helpers.pas @@ -501,7 +501,7 @@ var NextDIFC: SECT; Index: SizeUint; begin - if not Assigned(FDIFArray) then begin + if Length(FDIFArray)=0 then begin //Nothing to be freed. Result:=true; exit; @@ -659,6 +659,9 @@ begin FATInDIF:=0; OffsetInFAT:=0; Sector:=ComposeFATEntry(DIFIndex,FATInDIF,OffsetInFAT); + if DIFIndex=1 then begin + FHeader._sectDifStart:=Sector + end; //Empty free sector GetMem(DIFData,FSectorSize); //This memblock will be freed by UnloadDIF FillByte(PBYTE(DIFData)^,FSectorSize,$FF);