Bill Medland wrote:
On December 17, 2004 01:56 pm, Mike Hearn wrote:
On Fri, 17 Dec 2004 13:34:53 -0800, Bill Medland wrote:
Well, it gets me past the illegal memory reference; I can start looking
at what else failed now.
In case you aren't already aware, Rob and I are doing a lot of work in this area currently. If you want to pool resources that'd be good. Posting a +ole trace of the failing app would be a good start.
thanks -mike
Pooling would be good. I'll help as much as I can.
To start with, here's the relevant part of the trace.
trace:ole:WINE_StringFromCLSID 0x456ed8->{B6B35894-DD6F-11D3-84AC-00C04F0E1B46}
trace:ole:CoGetClassObject CLSID: {b6b35894-dd6f-11d3-84ac-00c04f0e1b46},
IID: {00000001-0000-0000-c000-000000000046}
warn:ole:CoGetClassObject class {B6B35894-DD6F-11D3-84AC-00C04F0E1B46} not registered inproc
trace:ole:create_marshalled_proxy rclsid={b6b35894-dd6f-11d3-84ac-00c04f0e1b46}, iid={00000001-0000-0000-c000-000000000046}
trace:ole:WINE_StringFromCLSID 0x456ed8->{B6B35894-DD6F-11D3-84AC-00C04F0E1B46}
trace:ole:WINE_StringFromCLSID 0x456ed8->{B6B35894-DD6F-11D3-84AC-00C04F0E1B46}
trace:ole:create_server activating local server 'L"G:\\runtime\\a4wsignonmgr.exe -Embedding"' for {B6B35894-DD6F-11D3-84AC-00C04F0E1B46}
trace:ole:DllMain 0x409e0000 0x1 0x1
warn:ole:create_marshalled_proxy Could not open named pipe to broker \\.\pipe\{B6B35894-DD6F-11D3-84AC-00C04F0E1B46}, le is 2
trace:ole:DllMain (0x40ab0000,1,0x1)
trace:ole:CoInitializeEx ((nil), 2)
trace:ole:CoInitializeEx () - Initializing the COM libraries
trace:ole:RunningObjectTableImpl_Initialize ()
trace:ole:WINE_StringFromCLSID 0x41f320->{A2086A6A-3F3E-457C-8102-A4F99AD7C2DA}
trace:ole:CoRegisterClassObject ({b6b35894-dd6f-11d3-84ac-00c04f0e1b46},0x42130170,0x00000004,0x00000001,0x41f094)
trace:ole:listener_thread Process listener thread starting on (\\.\pipe\WINE_OLE_StubMgr_00000010)
Here's an untested patch. Let me know if it works.
Rob
Index: rpc.c =================================================================== RCS file: /home/wine/wine/dlls/ole32/rpc.c,v retrieving revision 1.31 diff -u -p -r1.31 rpc.c --- rpc.c 14 Dec 2004 15:28:58 -0000 1.31 +++ rpc.c 18 Dec 2004 13:52:47 -0000 @@ -758,8 +758,9 @@ static DWORD WINAPI listener_thread(LPVO { char pipefn[200]; HANDLE listenPipe; + APARTMENT * apt = (APARTMENT *)param; - sprintf(pipefn,OLESTUBMGR"_%08lx",GetCurrentProcessId()); + sprintf(pipefn,OLESTUBMGR"_%08lx%08lx",(DWORD)(apt->oxid >> 32),(DWORD)apt->oxid); TRACE("Process listener thread starting on (%s)\n",pipefn); while (1) { @@ -795,7 +796,7 @@ void start_listener_thread() if (!running) { running = TRUE; - CreateThread(NULL, 0, listener_thread, NULL, 0, &tid); + CreateThread(NULL, 0, listener_thread, COM_CurrentApt(), 0, &tid); Sleep(2000); /* actually we just try opening the pipe until it succeeds */ } }