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