[PATCH v3] user32: Add MOUSEHOOKSTRUCTEX to fix mouse wheel support for JA2 1.13 and other apps which use it

Kira Backes kira.backes at nrwsoft.de
Wed Dec 23 13:28:54 CST 2015


How should we proceed here? One suggestion that came up was to just
add the fields of MOUSEHOOKSTRUCT to the ..EX struct, and I'm fine
with that solution.


rgds, Kira

On Tue, Dec 22, 2015 at 11:32 PM, Kira Backes <kira.backes at nrwsoft.de> wrote:
> Hello @André and @Nikolay,
>
> please note that I defined the struct this exact way because of this
> MSDN article:
> https://msdn.microsoft.com/en-us/library/windows/desktop/ms644969%28v=vs.85%29.aspx
>
> So if you think it's a bad idea to follow the definition of the MSDN
> article then please tell me what I should change so I can improve the
> patch.
>
> kind regards, Kira
>
> On Tue, Dec 22, 2015 at 8:13 PM, Nikolay Sivov <bunglehead at gmail.com> wrote:
>> Hello again.
>>
>>> +typedef struct
>>> +{
>>> +    MOUSEHOOKSTRUCT MOUSEHOOKSTRUCT;
>>> +    DWORD           mouseData;
>>> +} MOUSEHOOKSTRUCTEX, *PMOUSEHOOKSTRUCTEX, *LPMOUSEHOOKSTRUCTEX;
>>
>> Apparently that's not how Windows SDK defines it. For some obscure
>> reason they didn't define EX struct simply as non-EX + extra field,
>> but used cpp style, kind of. Older versions don't even have field name
>> for MOUSEHOOKSTRUCT portion, only type, but this won't work, not with
>> gcc at least. SDK 10 uses DUMMYSTRUCTNAME as a field name, which
>> resolves to 's', if NONAMELESSSTRUCT is defined. I guess we have to
>> follow version 10 definition.



More information about the wine-devel mailing list