10.01.2015 16:39, Mattias Gaertner пишет:
On Sat, 10 Jan 2015 12:49:04 +0000
Mark Morgan Lloyd <markmll.laza...@telemetry.co.uk> wrote:

Mark Morgan Lloyd wrote:

Lazarus trunk at about 47318 is OK with FPC 2.7.1 29398 on SPARC using
Debian "Lenny",

Same combination on a PPC Mac raises an exception as below when the IDE
is told to Tools -> Options.

TApplication.HandleException Error reading
ComponentsListView.Items.LazData: Stream read error
    Stack trace:
    $10118410  TREADER__READPROPERTY,  line 1279 of
/usr/local/src/fpc/fpc-trunk/rtl/objpas/classes/reader.inc

Apart from that and the blank toolbar issue it appears OK. Does anybody
want me to get a backtrace and raise a bug?

TListItems.ReadLazData reads a TLazItemInfo, which is a record:

   TLazItemInfo = record // packing is not needed and not wanted
     ImageIndex: Integer;
     StateIndex: Integer;
     OverlayIndex: Integer;
     SubItemCount: Integer;
   end;

Without "packed" the layout depends on the platform. But the stream
should be streamed the same on all platforms. So it needs "packed".
OTOH someone added a comment that it is not wanted.

Has someone an idea why "packed" is "is not needed and not wanted"?

AFAIK such record has the same layout on 32 and 64 bit targets, at least when
{$packrecords c} is in effect. But writing it directly to stream is incorrect anyway because you'll get different data on big and little-endian targets.

Regards,
Sergei


--
_______________________________________________
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to