[Bug 38314] New:=?UTF-8?Q?=20Mouse=20Wheel=20doesn=E2=80=99t=20work=20for=20JA2=201=2E13=20?=(it uses MOUSEHOOKSTRUCTEX)
wine-bugs at winehq.org
wine-bugs at winehq.org
Sun Mar 29 17:23:45 CDT 2015
https://bugs.winehq.org/show_bug.cgi?id=38314
Bug ID: 38314
Summary: Mouse Wheel doesn’t work for JA2 1.13 (it uses
MOUSEHOOKSTRUCTEX)
Product: Wine
Version: 1.7.39
Hardware: x86
OS: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: -unknown
Assignee: wine-bugs at winehq.org
Reporter: notifications+bugs.winehq.org at m0a.de
Distribution: ---
The mouse wheel does not work at all in JA2 1.13 and by looking at the source
code I think it may be one of several reasons:
1) MOUSEHOOKSTRUCTEX is not properly supported in wine
2) The wheel distance in mouseData does not equal WHEEL_DELTA (if it’s not
exactly WHEEL_DELTA then this code will just drop the event)
3) There is a "bug" in the JA2 1.13 code, which actually works in Windows
3a) If I look at the code I see a comparison with WHEEL_DELTA, this will fail
if the LOWORD of mouseData is not zero. Seems like on windows it’s always zero?
Maybe in wine it’s not zero? Source:
https://msdn.microsoft.com/en-us/library/windows/desktop/ms644969%28v=vs.85%29.aspx
The code:
LRESULT CALLBACK MouseHandler(int Code, WPARAM wParam, LPARAM lParam)
{
[...]
p_mhs = (MOUSEHOOKSTRUCTEX*)lParam;
[...]
if(p_mhs->mouseData==(WHEEL_DELTA<<16)) //up MessageBeep(-1);
QueueEvent(MOUSE_WHEEL_UP, 0, uiParam);
if(p_mhs->mouseData==(-WHEEL_DELTA<<16)) //dn MessageBeep(0x00000040L);
QueueEvent(MOUSE_WHEEL_DOWN, 0, uiParam);
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.
More information about the wine-bugs
mailing list