LCL: Don't try to stream an empty image. Issue #21406

git-svn-id: trunk@35676 -
This commit is contained in:
juha 2012-03-03 16:37:28 +00:00
parent aaa6a65283
commit 0d85bc3fdd

View File

@ -166,20 +166,23 @@ procedure TFPImageBitmap.WriteStream(AStream: TMemoryStream);
var var
IntfImg: TLazIntfImage; IntfImg: TLazIntfImage;
ImgWriter: TFPCustomImageWriter; ImgWriter: TFPCustomImageWriter;
RawImg: PRawImage;
begin begin
// write image to temporary stream // write image to temporary stream
ImgWriter := nil; ImgWriter := nil;
IntfImg := TLazIntfImage.Create(0,0,[]); RawImg:=GetRawImagePtr;
try if RawImg^.DataSize > 0 then begin
ImgWriter := GetWriterClass.Create; IntfImg := TLazIntfImage.Create(0,0,[]);
IntfImg.SetRawImage(GetRawImagePtr^, False); try
InitializeWriter(IntfImg, ImgWriter); ImgWriter := GetWriterClass.Create;
IntfImg.SaveToStream(AStream, ImgWriter); IntfImg.SetRawImage(RawImg^, False);
FinalizeWriter(ImgWriter); InitializeWriter(IntfImg, ImgWriter);
finally IntfImg.SaveToStream(AStream, ImgWriter);
IntfImg.Free; FinalizeWriter(ImgWriter);
ImgWriter.Free; finally
IntfImg.Free;
ImgWriter.Free;
end;
end; end;
end; end;