The way apartments are used has changed, so fix up the hacks in the
authorRobert Shearman <rob@codeweavers.com>
Wed, 12 Jan 2005 19:27:22 +0000 (19:27 +0000)
committerAlexandre Julliard <julliard@winehq.org>
Wed, 12 Jan 2005 19:27:22 +0000 (19:27 +0000)
RPC code that haven't yet been updated.

dlls/ole32/rpc.c

index 85329ea5876876a6e6eabf9c4b824007f3d547eb..c02df982cb15d4d1178913b99f33505d257332b6 100644 (file)
@@ -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));
 
     /* 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) {
        int i;
@@ -901,7 +901,7 @@ static DWORD WINAPI apartment_listener_thread(LPVOID p)
     HeapFree(GetProcessHeap(), 0, params);
 
     /* 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));
     TRACE("Apartment listener thread starting on (%s)\n",pipefn);