http://bugs.winehq.org/show_bug.cgi?id=34463
rob genrobgen5@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |REOPENED Resolution|FIXED |
--- Comment #5 from rob genrobgen5@gmail.com 2013-09-23 03:26:04 CDT --- To Andrew Eikum aeikum@codeweavers.com Austin English austinenglish@gmail.com
Hi
I tried the patch mplementing VarDecRound, unfortunately it does not seem to have helped with [Bug 34463] thai2english.
I think there is going to be more than one bug. The visable bug at the moment is CoGetContextToken apartment not initialised. I did a
WINEDEBUG=+ole,+relay wine '/root/.wine/drive_c/Program Files/Thai2English/thai2english.exe' 2>/log
followed by
grep 'CoGetContextToken'
to give
002c:Call ole32.CoGetContextToken(030be730) ret=791f525b trace:ole:CoGetContextToken (0x30be730) err:ole:CoGetContextToken apartment not initialised 002c:Ret ole32.CoGetContextToken() retval=800401f0 ret=791f525b 002d:Call ole32.CoGetContextToken(045be790) ret=791f525b trace:ole:CoGetContextToken (0x45be790) 002d:Ret ole32.CoGetContextToken() retval=00000000 ret=791f525b 0030:Call ole32.CoGetContextToken(046be710) ret=791f525b trace:ole:CoGetContextToken (0x46be710) trace:ole:CoGetContextToken apt->context_token=0x188750 0030:Ret ole32.CoGetContextToken() retval=00000000 ret=791f525b
retval=800401f0 refers to return CO_E_NOTINITIALIZED in CoGetContextToken in wine-1.7.2/dlls/ole32/compobj.c so apartment_find_multi_threaded() fails.
I suspect the following bit of code fails
LIST_FOR_EACH( cursor, &apts ) { struct apartment *apt = LIST_ENTRY( cursor, struct apartment, entry ); if (apt->multi_threaded) { result = apt; apartment_addref(result); break; } }
this piece of code looks for a struct apartment in &apts (or possibly it might create one if none exists)
&apts created by
static struct list apts = LIST_INIT( apts ); /* protected by csApartment */
however there does not appear to be any struct apartment or an appropriate pointer in struct list
I am not sure how the program is supposed to work but there is a problem here.
Rob