Alexandre Julliard : ole32: Fix some pointer cast warnings on 64-bit.

Alexandre Julliard julliard at winehq.org
Wed Dec 9 10:46:26 CST 2009


Module: wine
Branch: master
Commit: 44a9bae9f8f97180f26501dcc6d59e9f73f63fa5
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=44a9bae9f8f97180f26501dcc6d59e9f73f63fa5

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Wed Dec  9 12:04:01 2009 +0100

ole32: Fix some pointer cast warnings on 64-bit.

---

 dlls/ole32/compobj.c |    8 +++-----
 dlls/ole32/rpc.c     |    2 +-
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/dlls/ole32/compobj.c b/dlls/ole32/compobj.c
index 58e8f0d..583a9cb 100644
--- a/dlls/ole32/compobj.c
+++ b/dlls/ole32/compobj.c
@@ -2062,6 +2062,7 @@ HRESULT WINAPI CoRegisterClassObject(
     DWORD flags,
     LPDWORD lpdwRegister)
 {
+  static LONG next_cookie;
   RegisteredClass* newClass;
   LPUNKNOWN        foundObject;
   HRESULT          hr;
@@ -2115,11 +2116,8 @@ HRESULT WINAPI CoRegisterClassObject(
   newClass->pMarshaledData  = NULL;
   newClass->RpcRegistration = NULL;
 
-  /*
-   * Use the address of the chain node as the cookie since we are sure it's
-   * unique. FIXME: not on 64-bit platforms.
-   */
-  newClass->dwCookie        = (DWORD)newClass;
+  if (!(newClass->dwCookie = InterlockedIncrement( &next_cookie )))
+      newClass->dwCookie = InterlockedIncrement( &next_cookie );
 
   /*
    * Since we're making a copy of the object pointer, we have to increase its
diff --git a/dlls/ole32/rpc.c b/dlls/ole32/rpc.c
index 9a34465..0daa4ab 100644
--- a/dlls/ole32/rpc.c
+++ b/dlls/ole32/rpc.c
@@ -1358,7 +1358,7 @@ void RPC_ExecuteCall(struct dispatch_params *params)
 
         handlecall = IMessageFilter_HandleInComingCall(COM_CurrentApt()->filter,
                                                        calltype,
-                                                       (HTASK)GetCurrentProcessId(),
+                                                       UlongToHandle(GetCurrentProcessId()),
                                                        0 /* FIXME */,
                                                        &interface_info);
         TRACE("IMessageFilter_HandleInComingCall returned %d\n", handlecall);




More information about the wine-cvs mailing list