From 6fd0ed87e3be6984b95953ec82ae5e0414dac162 Mon Sep 17 00:00:00 2001 From: wp_xxyyzz Date: Fri, 23 Sep 2016 16:01:54 +0000 Subject: [PATCH] fpspreadsheet: A more general fix of issue #30633 for streams which do not rewind in LoadFromStream. git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5205 8e941d3f-bd1b-0410-a28a-d453659cc2b4 --- components/fpspreadsheet/fpsimages.pas | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/components/fpspreadsheet/fpsimages.pas b/components/fpspreadsheet/fpsimages.pas index ff21862fe..730a37646 100644 --- a/components/fpspreadsheet/fpsimages.pas +++ b/components/fpspreadsheet/fpsimages.pas @@ -894,10 +894,11 @@ function TsEmbeddedObj.LoadFromStream(AStream: TStream; AName: String; begin FreeAndNil(FStream); FStream := TMemoryStream.Create; - if ASize = -1 then - FStream.LoadFromStream(AStream) - else - FStream.CopyFrom(AStream, ASize); + if ASize = -1 then begin + ASize := AStream.Size; + AStream.Position := 0; + end; + FStream.CopyFrom(AStream, ASize); Result := CheckStream(itUnknown); if Result then FFileName := AName; end;