[Bug 34584] New: thai2english not working at all may ole32 related

wine-bugs at winehq.org wine-bugs at winehq.org
Tue Sep 24 06:04:50 CDT 2013


http://bugs.winehq.org/show_bug.cgi?id=34584

             Bug #: 34584
           Summary: thai2english not working at all may ole32 related
           Product: Wine
           Version: 1.7.2
          Platform: x86
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: ole32
        AssignedTo: wine-bugs at winehq.org
        ReportedBy: genrobgen5 at gmail.com
    Classification: Unclassified


Hi

linux distr debian wheezy (recently updated)
gcc version 4.6.3 (Debian 4.6.3-14)
thai2english-setup-2.3.4233.exe   
http://www.thai2english.com/downloading/thai2english-setup-2.3.4233.exe

started with wine '/root/.wine/drive_c/Program
Files/Thai2English/thai2english.exe'

wine version 1.7.2 with wine.git-87c459ab2359784f238c30073b1adc0111876987.patch

I tried the patch mplementing VarDecRound
(wine.git-87c459ab2359784f238c30073b1adc0111876987.patch) in wine-1.7.2,
unfortunately it does not seem to have helped with [Bug 34463] thai2english.

I think there is going to be more than one bug. A visable bug at the moment is
CoGetContextToken apartment not initialised (see attached log log-initial in
attachment). I did a 

WINEDEBUG=+ole,+relay  wine '/root/.wine/drive_c/Program
Files/Thai2English/thai2english.exe' 2>log+ole,+relay

followed by

grep 'CoGetContextToken' log+ole,+relay

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

(see log+ole+relay-greped in attachment)

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.

By the way thai2english does not work at all I am not just making it up or
something. If the bug is not worth dealing with then that is not a problem to
me as I can us virtualbox however wine is a neater solution.

Rob

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
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