diff --git a/dlls/quartz/tests/vmr7.c b/dlls/quartz/tests/vmr7.c index c242854659d..26324a36b16 100644 --- a/dlls/quartz/tests/vmr7.c +++ b/dlls/quartz/tests/vmr7.c @@ -273,7 +273,7 @@ static void test_interfaces(void) check_interface(filter, &IID_IVMRMixerControl, FALSE); check_interface(filter, &IID_IVMRMixerControl9, FALSE); todo_wine check_interface(filter, &IID_IVMRMonitorConfig9, FALSE); - todo_wine check_interface(filter, &IID_IVMRWindowlessControl9, FALSE); + check_interface(filter, &IID_IVMRWindowlessControl9, FALSE); IBaseFilter_FindPin(filter, L"VMR Input0", &pin); diff --git a/dlls/quartz/vmr9.c b/dlls/quartz/vmr9.c index ea19977de4d..771e90050da 100644 --- a/dlls/quartz/vmr9.c +++ b/dlls/quartz/vmr9.c @@ -635,7 +635,8 @@ static HRESULT vmr_query_interface(struct strmbase_renderer *iface, REFIID iid, else if (IsEqualGUID(iid, &IID_IVMRWindowlessControl) && filter->mode == (VMR9Mode)VMRMode_Windowless && !is_vmr9(filter)) *out = &filter->IVMRWindowlessControl_iface; - else if (IsEqualGUID(iid, &IID_IVMRWindowlessControl9) && filter->mode == VMR9Mode_Windowless) + else if (IsEqualGUID(iid, &IID_IVMRWindowlessControl9) + && filter->mode == VMR9Mode_Windowless && is_vmr9(filter)) *out = &filter->IVMRWindowlessControl9_iface; else return E_NOINTERFACE;