https://bugs.winehq.org/show_bug.cgi?id=45536
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Fixed by SHA1| |8257fe88fb99ca0bdeec27b47b7 | |cf835bda5c061 Status|NEW |RESOLVED
--- Comment #4 from Anastasius Focht focht@gmx.net --- Hello folks,
the crash is fixed by commit https://source.winehq.org/git/wine.git/commitdiff/8257fe88fb99ca0bdeec27b47b... ("usp10: Add stub for ScriptGetFontAlternateGlyphs.").
Thanks Louis
--- snip --- $ wine ./TOTALCMD64.EXE ... 0214:fixme:uniscribe:ScriptGetFontAlternateGlyphs (0000000000250244, 0000000000BE4370, 000000000261D904, "latn", "ROM ", "tnum", 0x0013, 10, 000000000261D920, 0000000001CC9678) 0214:fixme:uniscribe:ScriptGetFontAlternateGlyphs (0000000000250244, 0000000000BE4370, 000000000261D904, "latn", "ROM ", "tnum", 0x0014, 10, 000000000261D920, 0000000001CC9678) 0214:fixme:uniscribe:ScriptGetFontAlternateGlyphs (0000000000250244, 0000000000BE4370, 000000000261D904, "latn", "ROM ", "tnum", 0x0015, 10, 000000000261D920, 0000000001CC9678) 0214:fixme:uniscribe:ScriptGetFontAlternateGlyphs (0000000000250244, 0000000000BE4370, 000000000261D904, "latn", "ROM ", "tnum", 0x0016, 10, 000000000261D920, 0000000001CC9678) 0214:fixme:uniscribe:ScriptGetFontAlternateGlyphs (0000000000250244, 0000000000BE4370, 000000000261D904, "latn", "ROM ", "tnum", 0x0017, 10, 000000000261D920, 0000000001CC9678) 0214:fixme:uniscribe:ScriptGetFontAlternateGlyphs (0000000000250244, 0000000000BE4370, 000000000261D904, "latn", "ROM ", "tnum", 0x0018, 10, 000000000261D920, 0000000001CC9678) 0214:fixme:uniscribe:ScriptGetFontAlternateGlyphs (0000000000250244, 0000000000BE4370, 000000000261D904, "latn", "ROM ", "tnum", 0x0019, 10, 000000000261D920, 0000000001CC9678) 0214:fixme:uniscribe:ScriptGetFontAlternateGlyphs (0000000000250244, 0000000000BE4370, 000000000261D904, "latn", "ROM ", "tnum", 0x001a, 10, 000000000261D920, 0000000001CC9678) 0214:fixme:uniscribe:ScriptGetFontAlternateGlyphs (0000000000250244, 0000000000BE4370, 000000000261D904, "latn", "ROM ", "tnum", 0x001b, 10, 000000000261D920, 0000000001CC9678) 0214:fixme:uniscribe:ScriptGetFontAlternateGlyphs (0000000000250244, 0000000000BE4370, 000000000261D904, "latn", "ROM ", "tnum", 0x001c, 10, 000000000261D920, 0000000001CC9678) 0218:fixme:bitmap:CreateBitmapIndirect planes = 0 0218:fixme:bitmap:CreateBitmapIndirect planes = 0 0218:fixme:bitmap:CreateBitmapIndirect planes = 0 0218:fixme:bitmap:CreateBitmapIndirect planes = 0 0218:fixme:bitmap:CreateBitmapIndirect planes = 0 ... --- snip ---
Fortunately the app checks the HRESULT so the stub doesn't do any harm.
--- snip --- ... 0000000000A03D6C | mov rax,qword ptr ss:[rbp-10] | 0000000000A03D70 | lea r8,qword ptr ds:[rax+4] | 0000000000A03D74 | lea rdx,qword ptr ds:[BE4370] | 0000000000A03D7B | mov rax,r13 | 0000000000A03D7E | mov r10,qword ptr ds:[<&ScriptGetFontAlternateGlyphs>] 0000000000A03D85 | mov rcx,rax | 0000000000A03D88 | call r10 | 0000000000A03D8B | mov r12d,eax | 0x80004001 0000000000A03D8E | mov ecx,r12d | 0000000000A03D91 | call totalcmd64.41BF60 | check HRESULT 0000000000A03D96 | test eax,eax | 0000000000A03D98 | je totalcmd64.A03DF0 | ZF fail 0000000000A03D9A | mov eax,dword ptr ss:[rbp-48] | 0000000000A03D9D | cmp eax,1 | 0000000000A03DA0 | jle totalcmd64.A03DF0 | ... 000000000041BF60 | push rbp | 000000000041BF61 | mov rbp,rsp | 000000000041BF64 | sub rsp,10 | 000000000041BF68 | mov dword ptr ss:[rbp-8],ecx | HRESULT 000000000041BF6B | mov eax,dword ptr ss:[rbp-8] | 000000000041BF6E | and eax,80000000 | 000000000041BF73 | test eax,eax | 000000000041BF75 | sete al | 000000000041BF78 | movzx eax,al | 000000000041BF7B | neg eax | 000000000041BF7D | mov dword ptr ss:[rbp-10],eax | 000000000041BF80 | mov eax,dword ptr ss:[rbp-10] | 000000000041BF83 | leave | 000000000041BF84 | ret | ... --- snip ---
$ wine --version wine-5.9-67-g8257fe88fb
Regards