Commit 7d90b6ce authored by Rob Shearman's avatar Rob Shearman Committed by Alexandre Julliard

ole32: Allow the getting of different interfaces from the global interface table…

ole32: Allow the getting of different interfaces from the global interface table than that with what the object was registered with.
parent 05230781
......@@ -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);
......
......@@ -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);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment