diff --git a/dlls/quartz/tests/vmr7.c b/dlls/quartz/tests/vmr7.c index f4b26db554b..c242854659d 100644 --- a/dlls/quartz/tests/vmr7.c +++ b/dlls/quartz/tests/vmr7.c @@ -300,7 +300,7 @@ static void test_interfaces(void) check_interface(filter, &IID_IVMRMixerControl, FALSE); todo_wine check_interface(filter, &IID_IVMRMonitorConfig, FALSE); todo_wine check_interface(filter, &IID_IVMRMonitorConfig9, FALSE); - todo_wine check_interface(filter, &IID_IVMRSurfaceAllocatorNotify9, FALSE); + check_interface(filter, &IID_IVMRSurfaceAllocatorNotify9, FALSE); check_interface(filter, &IID_IVMRWindowlessControl, FALSE); check_interface(filter, &IID_IVMRWindowlessControl9, FALSE); diff --git a/dlls/quartz/vmr9.c b/dlls/quartz/vmr9.c index c847b9c448d..aa125ddb896 100644 --- a/dlls/quartz/vmr9.c +++ b/dlls/quartz/vmr9.c @@ -629,7 +629,8 @@ static HRESULT vmr_query_interface(struct strmbase_renderer *iface, REFIID iid, else if (IsEqualGUID(iid, &IID_IVMRSurfaceAllocatorNotify) && filter->mode == (VMR9Mode)VMRMode_Renderless && !is_vmr9(filter)) *out = &filter->IVMRSurfaceAllocatorNotify_iface; - else if (IsEqualGUID(iid, &IID_IVMRSurfaceAllocatorNotify9) && filter->mode == VMR9Mode_Renderless) + 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) *out = &filter->IVMRWindowlessControl_iface;