The way apartments are used has changed, so fix up the hacks in the
RPC code that haven't yet been updated.
This commit is contained in:
parent
36f482cb7d
commit
89f5c8241f
|
@ -854,7 +854,7 @@ static DWORD WINAPI stub_dispatch_thread(LPVOID param)
|
||||||
TRACE("starting for apartment OXID %08lx%08lx\n", (DWORD)(xpipe->mid.oxid >> 32), (DWORD)(xpipe->mid.oxid));
|
TRACE("starting for apartment OXID %08lx%08lx\n", (DWORD)(xpipe->mid.oxid >> 32), (DWORD)(xpipe->mid.oxid));
|
||||||
|
|
||||||
/* join marshalling apartment. fixme: this stuff is all very wrong, threading needs to work like native */
|
/* join marshalling apartment. fixme: this stuff is all very wrong, threading needs to work like native */
|
||||||
NtCurrentTeb()->ReservedForOle = xpipe->apt;
|
COM_CurrentInfo()->apt = xpipe->apt;
|
||||||
|
|
||||||
while (!hres) {
|
while (!hres) {
|
||||||
int i;
|
int i;
|
||||||
|
@ -901,7 +901,7 @@ static DWORD WINAPI apartment_listener_thread(LPVOID p)
|
||||||
HeapFree(GetProcessHeap(), 0, params);
|
HeapFree(GetProcessHeap(), 0, params);
|
||||||
|
|
||||||
/* we must join the marshalling threads apartment. we already have a ref here */
|
/* we must join the marshalling threads apartment. we already have a ref here */
|
||||||
NtCurrentTeb()->ReservedForOle = apt;
|
COM_CurrentInfo()->apt = apt;
|
||||||
|
|
||||||
sprintf(pipefn,OLESTUBMGR"_%08lx%08lx", (DWORD)(apt->oxid >> 32), (DWORD)(apt->oxid));
|
sprintf(pipefn,OLESTUBMGR"_%08lx%08lx", (DWORD)(apt->oxid >> 32), (DWORD)(apt->oxid));
|
||||||
TRACE("Apartment listener thread starting on (%s)\n",pipefn);
|
TRACE("Apartment listener thread starting on (%s)\n",pipefn);
|
||||||
|
|
Loading…
Reference in New Issue