[Bug 47427] Glide wrapper - Configuration buttons misbehaving

wine-bugs at winehq.org wine-bugs at winehq.org
Sun Aug 25 05:07:53 CDT 2019


https://bugs.winehq.org/show_bug.cgi?id=47427

--- Comment #2 from Sagawa <sagawa.aki+winebugs at gmail.com> ---
This is due to WM_NOTIFY handling.
configurator.exe just expects UDN_DELTAPOS when it receives WM_NOTIFY from an
up down control. It always treat LPARAM as an NMUPDOWN pointer.

In detail,
00402E40 | 83F8 4E                  | cmp eax,4E                              |
Is this WM_NOTIFY?
00402E43 | 0F85 0A020000            | jne configurator.403053                 |
Jump not equal
00402E49 | 8B8424 6C010000          | mov eax,dword ptr ss:[esp+16C]          |
move LPARAM(NMHDR pointer) to eax
00402E50 | 8B48 04                  | mov ecx,dword ptr ds:[eax+4]            |
NMHDR.idFrom to ecx
00402E53 | 81F9 42040000            | cmp ecx,442                             |
does control ID match with #442?
00402E59 | 0F85 97000000            | jne configurator.402EF6                 |
Jump not equal
00402E5F | 33DB                     | xor ebx,ebx                             |
set ebx zero
00402E61 | 3958 10                  | cmp dword ptr ds:[eax+10],ebx           |
compare ebx and NMUPDOWN.iDelta, OMG

Wine's up down control sends WM_NOTIFY with UDN_DELTAPOS code and
NM_RELEASEDCAPTURE code on clicking.
Native's only sends WM_NOTIFY with UDN_DELTAPOS code then.

-- 
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