[PATCH v6] quartz: Return E_POINTER from IVideoWindow::get_Visible() if "visible" is NULL.
Zebediah Figura
z.figura12 at gmail.com
Wed Sep 9 10:07:18 CDT 2020
From: Pengpeng Dong <dongpengpeng at uniontech.com>
Signed-off-by: Pengpeng Dong <dongpengpeng at uniontech.com>
Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
---
v6: Fix an accidental double space in the test message; make subject line
clearer and more grammatical.
dlls/quartz/tests/videorenderer.c | 3 +++
dlls/quartz/window.c | 3 +++
2 files changed, 6 insertions(+)
diff --git a/dlls/quartz/tests/videorenderer.c b/dlls/quartz/tests/videorenderer.c
index c2b6271021a..448efe501b6 100644
--- a/dlls/quartz/tests/videorenderer.c
+++ b/dlls/quartz/tests/videorenderer.c
@@ -2257,6 +2257,9 @@ static void test_video_window(void)
hr = IBaseFilter_QueryInterface(filter, &IID_IVideoWindow, (void **)&window);
ok(hr == S_OK, "Got hr %#x.\n", hr);
+ hr = IVideoWindow_get_Visible(window, NULL);
+ ok(hr == E_POINTER, "Got hr %#x.\n", hr);
+
hr = IVideoWindow_get_Caption(window, &caption);
todo_wine ok(hr == VFW_E_NOT_CONNECTED, "Got hr %#x.\n", hr);
diff --git a/dlls/quartz/window.c b/dlls/quartz/window.c
index 07e042eccdb..3983d43b08f 100644
--- a/dlls/quartz/window.c
+++ b/dlls/quartz/window.c
@@ -334,6 +334,9 @@ HRESULT WINAPI BaseControlWindowImpl_get_Visible(IVideoWindow *iface, LONG *visi
TRACE("window %p, visible %p.\n", window, visible);
+ if (!visible)
+ return E_POINTER;
+
*visible = IsWindowVisible(window->hwnd) ? OATRUE : OAFALSE;
return S_OK;
}
--
2.28.0
More information about the wine-devel
mailing list