[Bug 37758] Engine001 v1.012.017 (VB6 app) crashes after selecting actor from 'Actor template' ('MS Serif' font substitute missing)

wine-bugs at winehq.org wine-bugs at winehq.org
Sat Dec 27 11:22:20 CST 2014


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

Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |focht at gmx.net
          Component|-unknown                    |loader
            Summary|Engine001 (v1.012.017)      |Engine001 v1.012.017 (VB6
                   |Crash (when selecting an    |app) crashes after
                   |NPC) ~ MAP001.EXE           |selecting actor from 'Actor
                   |                            |template' ('MS Serif' font
                   |                            |substitute missing)

--- Comment #5 from Anastasius Focht <focht at gmx.net> ---
Hello folks,

confirming.

Relevant part of trace log:

--- snip ---
$ pwd
/home/focht/.wine/drive_c/Program Files/001/Map

$ WINEDEBUG=+tid,+seh,+relay,+variant,+ole,+font wine ./Map001.exe >>log.txt
2>&1
...
0023:Call gdi32.EnumFontsA(0012002a,13db8624 "MS Serif",732e1384,0033d120)
ret=732e137d
0023:trace:font:FONT_EnumFontFamiliesEx lfFaceName = L"MS Serif" lfCharset = 1
0023:trace:font:freetype_EnumFonts facename = L"MS Serif" charset 1
0023:Ret  gdi32.EnumFontsA() retval=00000001 ret=732e137d
...
0023:Call ole32.CreateErrorInfo(0033d1fc) ret=732f1183
0023:trace:ole:CreateErrorInfo (0x33d1fc)
...
0023:trace:ole:IErrorInfoImpl_QueryInterface
(0x1512e120)->({22f03340-547d-101b-8e65-08002b2bd119},0x33d1fc)
0023:trace:ole:IErrorInfoImpl_AddRef (0x1512e120)->(count=1)
0023:trace:ole:IErrorInfoImpl_QueryInterface -- Interface:
(0x33d1fc)->(0x1512e124)
0023:trace:ole:IErrorInfoImpl_Release (0x1512e120)->(count=2)
0023:Ret  ole32.CreateErrorInfo() retval=00000000 ret=732f1183
0023:trace:ole:ICreateErrorInfoImpl_SetGUID
(0x1512e120)->({33ad4ef1-6699-11cf-b70c-00aa0060d393})
...
0023:trace:ole:ICreateErrorInfoImpl_SetSource (0x1512e120): L"Map001"
...
0023:Call user32.LoadStringA(732a0000,00000564,013f5008,00000400) ret=732c04d5
0023:Ret  user32.LoadStringA() retval=00000016 ret=732c04d5
0023:Call KERNEL32.lstrlenA(013f5008 "Invalid property value") ret=732c04ec
0023:Ret  KERNEL32.lstrlenA() retval=00000016 ret=732c04ec 
...
0023:trace:ole:ICreateErrorInfoImpl_SetDescription (0x1512e120): L"Invalid
property value" 
...
0023:Call KERNEL32.RaiseException(c000008f,00000001,00000002,0033d1bc)
ret=732cd07f
0023:trace:seh:raise_exception code=c000008f flags=1 addr=0x7b83b30f
ip=7b83b30f tid=0023
0023:trace:seh:raise_exception  info[0]=deadcafe
0023:trace:seh:raise_exception  info[1]=deadcafe
0023:trace:seh:raise_exception  eax=7b826f95 ebx=7b8bf000 ecx=deadcafe
edx=0033d11c esi=0033d1bc edi=0033d180
0023:trace:seh:raise_exception  ebp=0033d158 esp=0033d0f4 cs=0023 ds=002b
es=002b fs=0063 gs=006b flags=00200283
0023:trace:seh:call_vectored_handlers calling handler at 0x701c6d78
code=c000008f flags=1
0023:trace:seh:call_vectored_handlers handler at 0x701c6d78 returned 0
0023:trace:seh:call_stack_handlers calling handler at 0x41bf66 code=c000008f
flags=1 
...
0023:trace:seh:raise_exception code=c0000005 flags=0 addr=0x732d3c90
ip=732d3c90 tid=0023
0023:trace:seh:raise_exception  info[0]=00000000
0023:trace:seh:raise_exception  info[1]=00000014
0023:trace:seh:raise_exception  eax=00000000 ebx=013e5bf4 ecx=0033c87c
edx=013e62b0 esi=0139fdac edi=013e4e5c
0023:trace:seh:raise_exception  ebp=0033c8b0 esp=0033c8a8 cs=0023 ds=002b
es=002b fs=0063 gs=006b flags=00210246
0023:trace:seh:call_vectored_handlers calling handler at 0x701c6d78
code=c0000005 flags=0
0023:trace:seh:call_vectored_handlers handler at 0x701c6d78 returned 0
0023:trace:seh:call_stack_handlers calling handler at 0x41bf66 code=c0000005
flags=0 
...
0023:Call user32.LoadStringA(732a0000,00002738,0033cd84,000001f4) ret=732ce34d
0023:Ret  user32.LoadStringA() retval=0000002b ret=732ce34d
0023:Call KERNEL32.MultiByteToWideChar(00000000,00000000,0033cd84
"Application-defined or object-defined error",ffffffff,00000000,00000000)
ret=732ce2b6
0023:Ret  KERNEL32.MultiByteToWideChar() retval=0000002c ret=732ce2b6 
...
--- snip ---

The VB6 app assigns properties to controls (ActiveX objects).
After selection of actor from 'Actor template' it assigns various properties,
such as caption, tooltip, fontname etc. to UI controls to be shown.

One of the controls has hard-coded  'MS Serif' font name property assignment
(VB control designer).

As workaround add a font substitute for 'MS Serif' to the registry:

--- snip ---
$ wine reg add 'HKLM\Software\Microsoft\Windows
NT\CurrentVersion\FontSubstitutes' /v 'MS Serif' /t REG_SZ /d 'Liberation
Serif'
--- snip ---

(should go to 'wine.inf.in')

$ sha1sum Map001.exe 
3a432548c516c862aa28683ad3079404029ff129  Map001.exe

$ du -sh Map001.exe 
30M    Map001.exe

$ wine --version
wine-1.7.33-84-gfecbc88

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