Rob Shearman : ole32: Allow the getting of different interfaces from the global interface table than that with what the object was registered with .
Module: wine Branch: master Commit: 7d90b6ce295fe876dc7b3474146e965cdc4a5cdc URL: http://source.winehq.org/git/wine.git/?a=commit;h=7d90b6ce295fe876dc7b347414... Author: Rob Shearman <rob(a)codeweavers.com> Date: Tue May 22 10:32:19 2007 +0100 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 b51990d..c310249 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 d0735fc..0b3cfeb 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);
participants (1)
-
Alexandre Julliard