From 7d90b6ce295fe876dc7b3474146e965cdc4a5cdc Mon Sep 17 00:00:00 2001 From: Rob Shearman Date: Tue, 22 May 2007 10:32:19 +0100 Subject: [PATCH] ole32: Allow the getting of different interfaces from the global interface table than that with what the object was registered with. --- dlls/ole32/git.c | 6 +----- dlls/ole32/tests/marshal.c | 3 +-- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/dlls/ole32/git.c b/dlls/ole32/git.c index b51990dc7fe..c310249be84 100644 --- a/dlls/ole32/git.c +++ b/dlls/ole32/git.c @@ -271,15 +271,11 @@ StdGlobalInterfaceTable_GetInterfaceFromGlobal( entry = StdGlobalInterfaceTable_FindEntry(iface, dwCookie); if (entry == NULL) { + WARN("Entry for cookie 0x%x not found\n", dwCookie); LeaveCriticalSection(&git_section); return E_INVALIDARG; } - if (!IsEqualIID(&entry->iid, riid)) { - LeaveCriticalSection(&git_section); - WARN("entry->iid (%s) != riid\n", debugstr_guid(&entry->iid)); - return E_INVALIDARG; - } TRACE("entry=%p\n", entry); hres = IStream_Clone(entry->stream, &stream); diff --git a/dlls/ole32/tests/marshal.c b/dlls/ole32/tests/marshal.c index d0735fc3c65..0b3cfeb7a03 100644 --- a/dlls/ole32/tests/marshal.c +++ b/dlls/ole32/tests/marshal.c @@ -2640,9 +2640,8 @@ static void test_globalinterfacetable(void) /* test getting interface from global with different iid */ hr = IGlobalInterfaceTable_GetInterfaceFromGlobal(git, cookie, &IID_IUnknown, (void **)&object); - todo_wine ok_ole_success(hr, IGlobalInterfaceTable_GetInterfaceFromGlobal); - if (SUCCEEDED(hr)) IUnknown_Release(object); + IUnknown_Release(object); /* test getting interface from global with same iid */ hr = IGlobalInterfaceTable_GetInterfaceFromGlobal(git, cookie, &IID_IClassFactory, (void **)&object);