Zebediah Figura : evr: Return E_NOINTERFACE when aggregation is requested with an interface other than IUnknown.

Alexandre Julliard julliard at winehq.org
Wed Jun 5 16:12:39 CDT 2019


Module: wine
Branch: master
Commit: 664789cefcf4a5975b4e0f4ed8085d421ea1e75f
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=664789cefcf4a5975b4e0f4ed8085d421ea1e75f

Author: Zebediah Figura <z.figura12 at gmail.com>
Date:   Tue Jun  4 17:54:27 2019 -0500

evr: Return E_NOINTERFACE when aggregation is requested with an interface other than IUnknown.

Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/evr/main.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/dlls/evr/main.c b/dlls/evr/main.c
index 313d518..ba48207 100644
--- a/dlls/evr/main.c
+++ b/dlls/evr/main.c
@@ -118,6 +118,10 @@ static HRESULT WINAPI classfactory_CreateInstance(IClassFactory *iface, IUnknown
     TRACE("(%p)->(%p,%s,%p)\n", This, outer_unk, debugstr_guid(riid), ppobj);
 
     *ppobj = NULL;
+
+    if (outer_unk && !IsEqualGUID(riid, &IID_IUnknown))
+        return E_NOINTERFACE;
+
     hres = This->pfnCreateInstance(outer_unk, (void **) &unk);
     if (SUCCEEDED(hres))
     {




More information about the wine-cvs mailing list