user32: Fix padding in user_thread_info structure.

Alexandre Julliard julliard at
Mon Mar 23 03:14:45 CDT 2015

Sebastian Lackner <sebastian at> writes:

> Based on the comment above only TEB->Win32ClientInfo should be used to store the struct user_thread_info.
> The padding got out of sync in cb3b7237925a24ba4c5696dd079fdc5d99a48577 where the 64-bit situation was ignored.
> The pshpack4 is required because the struct has a size of 31 ULONGs, and gcc will otherwise align the whole
> struct up to 8 bytes on 64-bit. I've confirmed manually with C_ASSERTs that the offsets/sizes are right and
> that it matches what we expect.

I don't see any need to change the packing, there's still enough
room. I'd suggest to simply replace the padding with an assert on the
structure size.

Alexandre Julliard
julliard at

More information about the wine-devel mailing list