TPrintDlg WIN64 structure alignment
Original Reporter info from Mantis: Marcel Kilgus
-
Reporter name: Marcel Kilgus
Original Reporter info from Mantis: Marcel Kilgus
- Reporter name: Marcel Kilgus
Description:
The commdlg.h structures are weird in that they are byte aligned on WIN32 and natively aligned on WIN64:
#if !defined(_WIN64)
#include <pshpack1.h> /* Assume byte packing throughout */
#endif
Currently the TPrintDlg structure located in rtl/win/wininc/struct.inc only works in WIN32, it could be fixed like this:
{$IFDEF WIN64}
TPRINTDLG = record
{$ELSE}
TPRINTDLG = packed record
{$ENDIF}
I didn't find any other structure that needed this treatment but only really had a very brief glance.
Mantis conversion info:
- Mantis ID: 36064
- OS: Windows
- OS Build: any
- Platform: x64
- Version: 3.0.4
- Fixed in version: 3.3.1
- Fixed in revision: 42976 (#01bc1ed8)