Module: wine Branch: master Commit: 664789cefcf4a5975b4e0f4ed8085d421ea1e75f URL: https://source.winehq.org/git/wine.git/?a=commit;h=664789cefcf4a5975b4e0f4ed...
Author: Zebediah Figura z.figura12@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@gmail.com Signed-off-by: Alexandre Julliard julliard@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)) {