mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-27 15:25:07 +02:00
lcl: make TCustomIcon.LoadFromResourceHandle endian safe
git-svn-id: trunk@23315 -
This commit is contained in:
parent
b52661b103
commit
4f2c331030
@ -701,19 +701,19 @@ begin
|
|||||||
// write icon header
|
// write icon header
|
||||||
Stream.Write(Dir^, SizeOf(TIconHeader));
|
Stream.Write(Dir^, SizeOf(TIconHeader));
|
||||||
// write icon entries headers
|
// write icon entries headers
|
||||||
offset := Stream.Position + SizeOf(IconEntry) * Dir^.idCount;
|
offset := Stream.Position + SizeOf(IconEntry) * LEtoN(Dir^.idCount);
|
||||||
for i := 0 to Dir^.idCount - 1 do
|
for i := 0 to LEtoN(Dir^.idCount) - 1 do
|
||||||
begin
|
begin
|
||||||
DirEntry := Dir^.idEntries[i];
|
DirEntry := Dir^.idEntries[i];
|
||||||
Move(DirEntry, IconEntry, SizeOf(DirEntry));
|
Move(DirEntry, IconEntry, SizeOf(DirEntry));
|
||||||
IconEntry.dwImageOffset := offset;
|
IconEntry.dwImageOffset := NtoLE(offset);
|
||||||
inc(offset, IconEntry.dwBytesInRes);
|
inc(offset, LEtoN(IconEntry.dwBytesInRes));
|
||||||
Stream.Write(IconEntry, SizeOf(IconEntry));
|
Stream.Write(IconEntry, SizeOf(IconEntry));
|
||||||
end;
|
end;
|
||||||
// write icons data
|
// write icons data
|
||||||
for i := 0 to Dir^.idCount - 1 do
|
for i := 0 to LEtoN(Dir^.idCount) - 1 do
|
||||||
begin
|
begin
|
||||||
IconStream := TResourceStream.CreateFromID(Instance, Dir^.idEntries[i].nID, RT_ICON);
|
IconStream := TResourceStream.CreateFromID(Instance, LEtoN(Dir^.idEntries[i].nID), RT_ICON);
|
||||||
try
|
try
|
||||||
Stream.CopyFrom(IconStream, IconStream.Size);
|
Stream.CopyFrom(IconStream, IconStream.Size);
|
||||||
finally
|
finally
|
||||||
|
Loading…
Reference in New Issue
Block a user