Alex Henrie : ole32: Return IUnknown from GITCF_CreateInstance if requested.
Alexandre Julliard
julliard at winehq.org
Tue Jul 10 15:36:43 CDT 2018
Module: wine
Branch: master
Commit: 6187e8db0ba73b580c50c9068184d737ed6a1634
URL: https://source.winehq.org/git/wine.git/?a=commit;h=6187e8db0ba73b580c50c9068184d737ed6a1634
Author: Alex Henrie <alexhenrie24 at gmail.com>
Date: Tue Jul 10 11:45:46 2018 +0200
ole32: Return IUnknown from GITCF_CreateInstance if requested.
Signed-off-by: Alex Henrie <alexhenrie24 at gmail.com>
Signed-off-by: Huw Davies <huw at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/ole32/git.c | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/dlls/ole32/git.c b/dlls/ole32/git.c
index f7a0460..8683f35 100644
--- a/dlls/ole32/git.c
+++ b/dlls/ole32/git.c
@@ -122,9 +122,14 @@ StdGlobalInterfaceTable_QueryInterface(IGlobalInterfaceTable* iface,
/* Do we implement that interface? */
if (IsEqualIID(&IID_IUnknown, riid) ||
IsEqualIID(&IID_IGlobalInterfaceTable, riid))
+ {
*ppvObject = iface;
+ }
else
+ {
+ FIXME("(%s), not supported.\n", debugstr_guid(riid));
return E_NOINTERFACE;
+ }
/* Now inc the refcount */
IGlobalInterfaceTable_AddRef(iface);
@@ -314,13 +319,10 @@ static HRESULT WINAPI
GITCF_CreateInstance(LPCLASSFACTORY iface, LPUNKNOWN pUnk,
REFIID riid, LPVOID *ppv)
{
- if (IsEqualIID(riid,&IID_IGlobalInterfaceTable)) {
- IGlobalInterfaceTable *git = get_std_git();
- return IGlobalInterfaceTable_QueryInterface(git, riid, ppv);
- }
-
- FIXME("(%s), not supported.\n",debugstr_guid(riid));
- return E_NOINTERFACE;
+ IGlobalInterfaceTable *git = get_std_git();
+ HRESULT hr = IGlobalInterfaceTable_QueryInterface(git, riid, ppv);
+ IGlobalInterfaceTable_Release(git);
+ return hr;
}
static HRESULT WINAPI GITCF_LockServer(LPCLASSFACTORY iface, BOOL fLock)
More information about the wine-cvs
mailing list