LCL: Fix a bug in bitmap reader related to CPU endianness. Issue #27719, patch from Mark Morgan Lloyd

git-svn-id: trunk@48529 -
This commit is contained in:
juha 2015-03-29 15:38:25 +00:00
parent 7528dce7c0
commit 09da3ea087

View File

@ -5049,11 +5049,11 @@ var
BFH: TBitMapFileHeader;
begin
Stream.Read(BFH, SizeOf(BFH));
Result := (LEtoN(BFH.bfType) = BMmagic); // Just check magic number
Result := ({$ifdef FPC_LITTLE_ENDIAN}LEtoN{$endif}(BFH.bfType) = BMmagic); // Just check magic number
// store the data offset
if Result and (BFH.bfOffBits <> 0)
then FDataOffset := Stream.Position + LEtoN(BFH.bfOffBits) - SizeOf(BFH);
then FDataOffset := Stream.Position + {$ifdef FPC_LITTLE_ENDIAN}LEtoN{$endif}(BFH.bfOffBits) - SizeOf(BFH);
end;
procedure TLazReaderBMP.InternalReadHead;