[Bug 43480] Peavey Revalver IV (Amp modeling software) crashes due to missing Win7+ Touch Input API (stubs)
wine-bugs at winehq.org
wine-bugs at winehq.org
Mon Aug 14 04:08:57 CDT 2017
https://bugs.winehq.org/show_bug.cgi?id=43480
Anastasius Focht <focht at gmx.net> changed:
What |Removed |Added
----------------------------------------------------------------------------
Fixed by SHA1| |797a746fc2a1b17d67b7423293e
| |081e3e7171033
Status|NEW |RESOLVED
Resolution|--- |FIXED
--- Comment #4 from Anastasius Focht <focht at gmx.net> ---
Hello folks,
Win7+ Touch Input API stubs got added, thanks Austin.
--- snip ---
...
0031:Call KERNEL32.GetModuleHandleA(01494af4 "user32.dll") ret=005cbdfb
0031:Ret KERNEL32.GetModuleHandleA() retval=7ebb0000 ret=005cbdfb
0031:Call KERNEL32.GetProcAddress(7ebb0000,014bf690 "RegisterTouchWindow")
ret=005cbe06
0031:Ret KERNEL32.GetProcAddress() retval=7ebbb160 ret=005cbe06
0031:Call KERNEL32.GetModuleHandleA(01494af4 "user32.dll") ret=005cbdfb
0031:Ret KERNEL32.GetModuleHandleA() retval=7ebb0000 ret=005cbdfb
0031:Call KERNEL32.GetProcAddress(7ebb0000,014bf6a4 "GetTouchInputInfo")
ret=005cbe06
0031:Ret KERNEL32.GetProcAddress() retval=7ebba0e0 ret=005cbe06
0031:Call KERNEL32.GetModuleHandleA(01494af4 "user32.dll") ret=005cbdfb
0031:Ret KERNEL32.GetModuleHandleA() retval=7ebb0000 ret=005cbdfb
0031:Call KERNEL32.GetProcAddress(7ebb0000,014bf6b8 "CloseTouchInputHandle")
ret=005cbe06
0031:Ret KERNEL32.GetProcAddress() retval=7ebb8628 ret=005cbe06
0031:Call KERNEL32.GetModuleHandleA(01494af4 "user32.dll") ret=005cbdfb
0031:Ret KERNEL32.GetModuleHandleA() retval=7ebb0000 ret=005cbdfb
0031:Call KERNEL32.GetProcAddress(7ebb0000,014bf6d0 "GetGestureInfo")
ret=005cbe06
0031:Ret KERNEL32.GetProcAddress() retval=7ebb9990 ret=005cbe06
0031:Call user32.RegisterTouchWindow(00010078,00000000) ret=0089c04a
0031:fixme:win:RegisterTouchWindow (0x10078 00000000): stub
0031:Ret user32.RegisterTouchWindow() retval=00000000 ret=0089c04a
...
--- snip ---
The application still crashes with plain Wine but that's due to the stupidity
of the vendor.
--- snip ---
00794E5B PUSH OFFSET 014BF1EC ; ASCII "UpdateLayeredWindow"
00794E60 CALL 005CBDF0 ; resolve API
00794E65 ADD ESP,4
00794E68 MOV DWORD PTR DS:[161925C],EAX
00794E6D TEST EAX,EAX
00794E6F JNE 00794CEE
...
008D9F32 PUSH 2
008D9F34 MOV DWORD PTR SS:[EBP-8C],EDX
008D9F3A MOV DWORD PTR SS:[EBP-20E0],EAX
008D9F40 XOR EAX,EAX
008D9F42 MOV EDX,DWORD PTR SS:[EBP-24]
008D9F45 PUSH ECX
008D9F46 MOV BYTE PTR SS:[EBP-56],DL
008D9F49 LEA EDX,[EBP-20E4]
008D9F4F PUSH EAX
008D9F50 MOV DWORD PTR SS:[EBP-80],ESI
008D9F53 LEA ESI,[EBP-84]
008D9F59 MOV BYTE PTR SS:[EBP-55],1
008D9F5D MOV BYTE PTR SS:[EBP-57],AL
008D9F60 MOV BYTE PTR SS:[EBP-58],AL
008D9F63 PUSH EDX
008D9F64 PUSH DWORD PTR DS:[EDI+0A0]
008D9F6A PUSH ESI
008D9F6B LEA EDI,[EBP-8C]
008D9F71 PUSH EDI
008D9F72 PUSH EAX
008D9F73 PUSH DWORD PTR SS:[EBP-20]
008D9F76 CALL DWORD PTR DS:[161925C] ; UpdateLayeredWindow()
008D9F7C JMP SHORT 008D9FB0
...
--- snip ---
--- snip ---
...
005CC150 PUSH OFFSET 01494B00 ; ASCII "ntdll"
005CC155 CALL DWORD PTR DS:[<&KERNEL32.GetModuleHandleA>]
005CC15B TEST EAX,EAX
005CC15D JE SHORT 005CC176
005CC15F PUSH OFFSET 01494B08 ; ASCII "wine_get_version"
005CC164 PUSH EAX
005CC165 CALL DWORD PTR DS:[<&KERNEL32.GetProcAddress>]
005CC16B MOV EDX,1
005CC170 TEST EAX,EAX
005CC172 CMOVNE EAX,EDX
005CC175 RETN
...
--- snip ---
If Wine is detected it doesn't try to dynamically resolve layered windows API
Not all call sites of late-bound layered windows API are checked for NULL
pointers.
Talk about shooting yourself in the foot...
You need to use Wine-Staging with 'Hide Wine version from applications' option
enabled.
Regards
--
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