# HG changeset patch # User voroshil # Date 1189450552 0 # Node ID a422b6c96368f49ca4837ab708aed4f189060ae0 # Parent 3758413ca0c6196b4c850a9a889021a3bbef084d Revert r24424. Fix is wrong, because 'packed' attribute can be placed before structure definition only when all members have this attribute. diff -r 3758413ca0c6 -r a422b6c96368 loader/wine/mmreg.h --- a/loader/wine/mmreg.h Mon Sep 10 18:27:45 2007 +0000 +++ b/loader/wine/mmreg.h Mon Sep 10 18:55:52 2007 +0000 @@ -90,19 +90,19 @@ #ifndef _MPEGLAYER3WAVEFORMAT_ #define _MPEGLAYER3WAVEFORMAT_ -typedef struct WINE_PACKED mpeglayer3waveformat_tag { - WORD wFormatTag; - WORD nChannels; - DWORD nSamplesPerSec; - DWORD nAvgBytesPerSec; - WORD nBlockAlign; - WORD wBitsPerSample; - WORD cbSize; - WORD wID; - DWORD fdwFlags; - WORD nBlockSize; - WORD nFramesPerBlock; - WORD nCodecDelay; +typedef struct mpeglayer3waveformat_tag { + WORD wFormatTag WINE_PACKED; + WORD nChannels WINE_PACKED; + DWORD nSamplesPerSec WINE_PACKED; + DWORD nAvgBytesPerSec WINE_PACKED; + WORD nBlockAlign WINE_PACKED; + WORD wBitsPerSample WINE_PACKED; + WORD cbSize WINE_PACKED; + WORD wID WINE_PACKED; + DWORD fdwFlags WINE_PACKED; + WORD nBlockSize WINE_PACKED; + WORD nFramesPerBlock WINE_PACKED; + WORD nCodecDelay WINE_PACKED; } MPEGLAYER3WAVEFORMAT; #endif /* !_MPEGLAYER3WAVEFORMAT_ */ diff -r 3758413ca0c6 -r a422b6c96368 loader/wine/module.h --- a/loader/wine/module.h Mon Sep 10 18:27:45 2007 +0000 +++ b/loader/wine/module.h Mon Sep 10 18:55:52 2007 +0000 @@ -11,11 +11,11 @@ #include "pe_image.h" -typedef struct WINE_PACKED { +typedef struct { BYTE type; BYTE flags; BYTE segnum; - WORD offs; + WORD offs WINE_PACKED; } ET_ENTRY; typedef struct { @@ -57,12 +57,12 @@ } SELFLOADHEADER; /* Parameters for LoadModule() */ -typedef struct WINE_PACKED +typedef struct { HGLOBAL16 hEnvironment; /* Environment segment */ - SEGPTR cmdLine; /* Command-line */ - SEGPTR showCmd; /* Code for ShowWindow() */ - SEGPTR reserved; + SEGPTR cmdLine WINE_PACKED; /* Command-line */ + SEGPTR showCmd WINE_PACKED; /* Code for ShowWindow() */ + SEGPTR reserved WINE_PACKED; } LOADPARAMS16; typedef struct diff -r 3758413ca0c6 -r a422b6c96368 loader/wine/pe_image.h --- a/loader/wine/pe_image.h Mon Sep 10 18:27:45 2007 +0000 +++ b/loader/wine/pe_image.h Mon Sep 10 18:55:52 2007 +0000 @@ -54,19 +54,19 @@ typedef DWORD CALLBACK (*DLLENTRYPROC)(HMODULE,DWORD,LPVOID); -typedef struct WINE_PACKED { - WORD popl; /* 0x8f 0x05 */ - DWORD addr_popped; /* ... */ - BYTE pushl1; /* 0x68 */ - DWORD newret; /* ... */ - BYTE pushl2; /* 0x68 */ - DWORD origfun; /* original function */ - BYTE ret1; /* 0xc3 */ - WORD addesp; /* 0x83 0xc4 */ - BYTE nrofargs; /* nr of arguments to add esp, */ - BYTE pushl3; /* 0x68 */ - DWORD oldret; /* Filled out from popl above */ - BYTE ret2; /* 0xc3 */ +typedef struct { + WORD popl WINE_PACKED; /* 0x8f 0x05 */ + DWORD addr_popped WINE_PACKED;/* ... */ + BYTE pushl1 WINE_PACKED; /* 0x68 */ + DWORD newret WINE_PACKED; /* ... */ + BYTE pushl2 WINE_PACKED; /* 0x68 */ + DWORD origfun WINE_PACKED; /* original function */ + BYTE ret1 WINE_PACKED; /* 0xc3 */ + WORD addesp WINE_PACKED; /* 0x83 0xc4 */ + BYTE nrofargs WINE_PACKED; /* nr of arguments to add esp, */ + BYTE pushl3 WINE_PACKED; /* 0x68 */ + DWORD oldret WINE_PACKED; /* Filled out from popl above */ + BYTE ret2 WINE_PACKED; /* 0xc3 */ } ELF_STDCALL_STUB; typedef struct { diff -r 3758413ca0c6 -r a422b6c96368 loader/wine/winbase.h --- a/loader/wine/winbase.h Mon Sep 10 18:27:45 2007 +0000 +++ b/loader/wine/winbase.h Mon Sep 10 18:55:52 2007 +0000 @@ -536,14 +536,14 @@ /* Debugging support (DEBUG SYSTEM ONLY) */ -typedef struct WINE_PACKED +typedef struct { UINT16 flags; - DWORD dwOptions; - DWORD dwFilter; - CHAR achAllocModule[8]; - DWORD dwAllocBreak; - DWORD dwAllocCount; + DWORD dwOptions WINE_PACKED; + DWORD dwFilter WINE_PACKED; + CHAR achAllocModule[8] WINE_PACKED; + DWORD dwAllocBreak WINE_PACKED; + DWORD dwAllocCount WINE_PACKED; } WINDEBUGINFO, *LPWINDEBUGINFO; /* WINDEBUGINFO flags values */ diff -r 3758413ca0c6 -r a422b6c96368 loader/wine/winuser.h --- a/loader/wine/winuser.h Mon Sep 10 18:27:45 2007 +0000 +++ b/loader/wine/winuser.h Mon Sep 10 18:55:52 2007 +0000 @@ -172,14 +172,14 @@ HWND hwnd; } CWPRETSTRUCT, *LPCWPRETSTRUCT; -typedef struct WINE_PACKED +typedef struct { UINT length; UINT flags; UINT showCmd; - POINT ptMinPosition; - POINT ptMaxPosition; - RECT rcNormalPosition; + POINT ptMinPosition WINE_PACKED; + POINT ptMaxPosition WINE_PACKED; + RECT rcNormalPosition WINE_PACKED; } WINDOWPLACEMENT, *LPWINDOWPLACEMENT; @@ -2545,7 +2545,7 @@ #define DSS_MONO 0x0080 #define DSS_RIGHT 0x8000 -typedef struct WINE_PACKED +typedef struct { UINT CtlType; UINT CtlID; @@ -2554,8 +2554,8 @@ UINT itemState; HWND hwndItem; HDC hDC; - RECT rcItem; - DWORD itemData; + RECT rcItem WINE_PACKED; + DWORD itemData WINE_PACKED; } DRAWITEMSTRUCT, *PDRAWITEMSTRUCT, *LPDRAWITEMSTRUCT; @@ -2836,15 +2836,15 @@ /* DragObject stuff */ -typedef struct WINE_PACKED +typedef struct { HWND16 hWnd; HANDLE16 hScope; WORD wFlags; HANDLE16 hList; HANDLE16 hOfStruct; - POINT16 pt; - LONG l; + POINT16 pt WINE_PACKED; + LONG l WINE_PACKED; } DRAGINFO, *LPDRAGINFO; #define DRAGOBJ_PROGRAM 0x0001