comctl32[2/2]: toolbar: fix the layout of TBUTTON_INFO on Win64

Dmitry Timoshkov dmitry at codeweavers.com
Sun Jan 25 05:40:40 CST 2009


"Mikołaj Zalewski" <mikolaj at zalewski.pl> wrote:

>>> +/* Note: TOOLBAR_DumpButton assumes the layout of the beginning of the structure
>>> + * is the same as of TBBUTTON */
>>> typedef struct
>>> {
>>>     INT iBitmap;
>>> @@ -96,6 +98,9 @@ typedef struct
>>>     BYTE  fsStyle;
>>>     BYTE  bHot;
>>>     BYTE  bDropDownPressed;
>>> +#ifdef _WIN64
>>> +    BYTE bReserved64[4];
>>> +#endif
>>>     DWORD_PTR dwData;
>>>     INT_PTR iString;
>>>     INT nRow;
>>
>>
>> Then probably it would make sense to make TBBUTTON the first member of the above
>> structure. That would help in avoiding possible layout problems in future.
>>
>  The bHot and bDropDownPressed would then be called bReserved[0] and bReserved[1] so this could make more harm than 
> good.

You can make a union for that case, with an appropriate comment.

-- 
Dmitry. 




More information about the wine-devel mailing list