Nikolay Sivov : ole32: Remove now unused helper.

Alexandre Julliard julliard at winehq.org
Thu Aug 13 15:11:50 CDT 2020


Module: wine
Branch: master
Commit: 0efea8489dc1adc4c503b26e28aaa01f72bcbcea
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=0efea8489dc1adc4c503b26e28aaa01f72bcbcea

Author: Nikolay Sivov <nsivov at codeweavers.com>
Date:   Thu Aug 13 08:29:31 2020 +0100

ole32: Remove now unused helper.

Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
Signed-off-by: Huw Davies <huw at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/ole32/compobj_private.h |  1 -
 dlls/ole32/git.c             | 55 ++++++++++++++++++--------------------------
 2 files changed, 23 insertions(+), 33 deletions(-)

diff --git a/dlls/ole32/compobj_private.h b/dlls/ole32/compobj_private.h
index 1b7aa5640c..b64dfbf4f4 100644
--- a/dlls/ole32/compobj_private.h
+++ b/dlls/ole32/compobj_private.h
@@ -187,7 +187,6 @@ struct oletls
 
 
 /* Global Interface Table Functions */
-extern IGlobalInterfaceTable *get_std_git(void) DECLSPEC_HIDDEN;
 extern void release_std_git(void) DECLSPEC_HIDDEN;
 extern HRESULT StdGlobalInterfaceTable_GetFactory(LPVOID *ppv) DECLSPEC_HIDDEN;
 
diff --git a/dlls/ole32/git.c b/dlls/ole32/git.c
index e761c99b77..fe6b5e5812 100644
--- a/dlls/ole32/git.c
+++ b/dlls/ole32/git.c
@@ -290,47 +290,38 @@ StdGlobalInterfaceTable_GetInterfaceFromGlobal(
   return S_OK;
 }
 
-HRESULT WINAPI GlobalInterfaceTable_CreateInstance(IClassFactory *iface, IUnknown *outer, REFIID riid, void **obj)
-{
-    IGlobalInterfaceTable *git = get_std_git();
-    HRESULT hr = IGlobalInterfaceTable_QueryInterface(git, riid, obj);
-    IGlobalInterfaceTable_Release(git);
-    return hr;
-}
-
-/* Virtual function table */
 static const IGlobalInterfaceTableVtbl StdGlobalInterfaceTableImpl_Vtbl =
 {
-  StdGlobalInterfaceTable_QueryInterface,
-  StdGlobalInterfaceTable_AddRef,
-  StdGlobalInterfaceTable_Release,
-  StdGlobalInterfaceTable_RegisterInterfaceInGlobal,
-  StdGlobalInterfaceTable_RevokeInterfaceFromGlobal,
-  StdGlobalInterfaceTable_GetInterfaceFromGlobal
+    StdGlobalInterfaceTable_QueryInterface,
+    StdGlobalInterfaceTable_AddRef,
+    StdGlobalInterfaceTable_Release,
+    StdGlobalInterfaceTable_RegisterInterfaceInGlobal,
+    StdGlobalInterfaceTable_RevokeInterfaceFromGlobal,
+    StdGlobalInterfaceTable_GetInterfaceFromGlobal
 };
 
-IGlobalInterfaceTable* get_std_git(void)
+HRESULT WINAPI GlobalInterfaceTable_CreateInstance(IClassFactory *iface, IUnknown *outer, REFIID riid, void **obj)
 {
-  if (!std_git)
-  {
-    StdGlobalInterfaceTableImpl* newGIT;
-
-    newGIT = HeapAlloc(GetProcessHeap(), 0, sizeof(StdGlobalInterfaceTableImpl));
-    if (!newGIT) return NULL;
+    StdGlobalInterfaceTableImpl *git;
 
-    newGIT->IGlobalInterfaceTable_iface.lpVtbl = &StdGlobalInterfaceTableImpl_Vtbl;
-    list_init(&newGIT->list);
-    newGIT->nextCookie = 0xf100; /* that's where windows starts, so that's where we start */
-
-    if (InterlockedCompareExchangePointer((void**)&std_git, &newGIT->IGlobalInterfaceTable_iface, NULL))
+    if (!std_git)
     {
-      HeapFree(GetProcessHeap(), 0, newGIT);
+        git = heap_alloc(sizeof(*git));
+        if (!git) return E_OUTOFMEMORY;
+
+        git->IGlobalInterfaceTable_iface.lpVtbl = &StdGlobalInterfaceTableImpl_Vtbl;
+        list_init(&git->list);
+        git->nextCookie = 0xf100; /* that's where windows starts, so that's where we start */
+
+        if (InterlockedCompareExchangePointer((void **)&std_git, &git->IGlobalInterfaceTable_iface, NULL))
+        {
+            heap_free(git);
+        }
+        else
+            TRACE("Created the GIT %p\n", git);
     }
-    else
-      TRACE("Created the GIT at %p\n", newGIT);
-  }
 
-  return std_git;
+    return IGlobalInterfaceTable_QueryInterface(std_git, riid, obj);
 }
 
 void release_std_git(void)




More information about the wine-cvs mailing list