Nikolay Sivov : shlwapi: Fix IUnknown_AtomicRelease prototype and simplify body a bit.

Alexandre Julliard julliard at winehq.org
Mon Mar 29 09:57:50 CDT 2010


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

Author: Nikolay Sivov <nsivov at codeweavers.com>
Date:   Sat Mar 27 03:16:42 2010 +0300

shlwapi: Fix IUnknown_AtomicRelease prototype and simplify body a bit.

---

 dlls/shlwapi/ordinal.c |   15 ++++++---------
 1 files changed, 6 insertions(+), 9 deletions(-)

diff --git a/dlls/shlwapi/ordinal.c b/dlls/shlwapi/ordinal.c
index 7c2d87c..019502d 100644
--- a/dlls/shlwapi/ordinal.c
+++ b/dlls/shlwapi/ordinal.c
@@ -1210,7 +1210,7 @@ HRESULT WINAPI ConnectToConnectionPoint(IUnknown* lpUnkSink, REFIID riid, BOOL f
 /*************************************************************************
  *	@	[SHLWAPI.169]
  *
- * Release an interface.
+ * Release an interface and zero a supplied pointer.
  *
  * PARAMS
  *  lpUnknown [I] Object to release
@@ -1218,19 +1218,16 @@ HRESULT WINAPI ConnectToConnectionPoint(IUnknown* lpUnkSink, REFIID riid, BOOL f
  * RETURNS
  *  Nothing.
  */
-DWORD WINAPI IUnknown_AtomicRelease(IUnknown ** lpUnknown)
+void WINAPI IUnknown_AtomicRelease(IUnknown ** lpUnknown)
 {
-    IUnknown *temp;
+    TRACE("(%p)\n", lpUnknown);
 
-    TRACE("(%p)\n",lpUnknown);
-
-    if(!lpUnknown || !*((LPDWORD)lpUnknown)) return 0;
-    temp = *lpUnknown;
-    *lpUnknown = NULL;
+    if(!lpUnknown || !*lpUnknown) return;
 
     TRACE("doing Release\n");
 
-    return IUnknown_Release(temp);
+    IUnknown_Release(*lpUnknown);
+    *lpUnknown = NULL;
 }
 
 /*************************************************************************




More information about the wine-cvs mailing list