Signed-off-by: Zebediah Figura z.figura12@gmail.com --- dlls/quartz/tests/vmr9.c | 2 +- dlls/quartz/vmr9.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/dlls/quartz/tests/vmr9.c b/dlls/quartz/tests/vmr9.c index 4bba6f74319..442145ac6a8 100644 --- a/dlls/quartz/tests/vmr9.c +++ b/dlls/quartz/tests/vmr9.c @@ -271,7 +271,7 @@ static void test_interfaces(void) check_interface(filter, &IID_IVMRMixerControl, FALSE); check_interface(filter, &IID_IVMRMixerControl9, FALSE); todo_wine check_interface(filter, &IID_IVMRMonitorConfig, FALSE); - todo_wine check_interface(filter, &IID_IVMRWindowlessControl, FALSE); + check_interface(filter, &IID_IVMRWindowlessControl, FALSE);
IBaseFilter_FindPin(filter, L"VMR Input0", &pin);
diff --git a/dlls/quartz/vmr9.c b/dlls/quartz/vmr9.c index aa125ddb896..ea19977de4d 100644 --- a/dlls/quartz/vmr9.c +++ b/dlls/quartz/vmr9.c @@ -632,7 +632,8 @@ static HRESULT vmr_query_interface(struct strmbase_renderer *iface, REFIID iid, else if (IsEqualGUID(iid, &IID_IVMRSurfaceAllocatorNotify9) && filter->mode == VMR9Mode_Renderless && is_vmr9(filter)) *out = &filter->IVMRSurfaceAllocatorNotify9_iface; - else if (IsEqualGUID(iid, &IID_IVMRWindowlessControl) && filter->mode == (VMR9Mode)VMRMode_Windowless) + 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) *out = &filter->IVMRWindowlessControl9_iface;