Nikolay Sivov : ole32: Fix CreataDataCache() return value when requested riid is not IUnknown, for aggregation case.
Module: wine Branch: master Commit: fde61d467abd7c8357c25d17b39b2a5e8e9b871c URL: http://source.winehq.org/git/wine.git/?a=commit;h=fde61d467abd7c8357c25d17b3... Author: Nikolay Sivov <nsivov(a)codeweavers.com> Date: Mon Mar 21 11:55:57 2016 +0300 ole32: Fix CreataDataCache() return value when requested riid is not IUnknown, for aggregation case. Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com> Signed-off-by: Huw Davies <huw(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/ole32/datacache.c | 2 +- dlls/ole32/tests/ole2.c | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/dlls/ole32/datacache.c b/dlls/ole32/datacache.c index e93e867..21f63d3 100644 --- a/dlls/ole32/datacache.c +++ b/dlls/ole32/datacache.c @@ -2464,7 +2464,7 @@ HRESULT WINAPI CreateDataCache( * IUnknown pointer can be returned to the outside. */ if ( pUnkOuter && !IsEqualIID(&IID_IUnknown, riid) ) - return CLASS_E_NOAGGREGATION; + return E_INVALIDARG; /* * Try to construct a new instance of the class. diff --git a/dlls/ole32/tests/ole2.c b/dlls/ole32/tests/ole2.c index d58105c..afff6ba 100644 --- a/dlls/ole32/tests/ole2.c +++ b/dlls/ole32/tests/ole2.c @@ -1598,7 +1598,6 @@ static void test_data_cache(void) /* requested is not IUnknown */ hr = CreateDataCache(&unknown, &CLSID_NULL, &IID_IOleCache2, (void**)&pOleCache); -todo_wine ok(hr == E_INVALIDARG, "got 0x%08x\n", hr); hr = CreateDataCache(&unknown, &CLSID_NULL, &IID_IUnknown, (void**)&unk);
participants (1)
-
Alexandre Julliard