Nikolay Sivov : ole32: Fix CreataDataCache() return value when requested riid is not IUnknown, for aggregation case.

Alexandre Julliard julliard at wine.codeweavers.com
Tue Mar 22 10:55:11 CDT 2016


Module: wine
Branch: master
Commit: fde61d467abd7c8357c25d17b39b2a5e8e9b871c
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=fde61d467abd7c8357c25d17b39b2a5e8e9b871c

Author: Nikolay Sivov <nsivov at 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 at codeweavers.com>
Signed-off-by: Huw Davies <huw at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at 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);




More information about the wine-cvs mailing list