Commit 9d6f8a6a authored by Zebediah Figura's avatar Zebediah Figura Committed by Alexandre Julliard

quartz: Check whether the pin is connected in IVideoWindow::put_Owner().

Ferro CCTV calls this.
parent 59004187
...@@ -2396,6 +2396,9 @@ static void test_video_window(void) ...@@ -2396,6 +2396,9 @@ static void test_video_window(void)
hr = IVideoWindow_put_AutoShow(window, OAFALSE); hr = IVideoWindow_put_AutoShow(window, OAFALSE);
ok(hr == VFW_E_NOT_CONNECTED, "Got hr %#lx.\n", hr); ok(hr == VFW_E_NOT_CONNECTED, "Got hr %#lx.\n", hr);
hr = IVideoWindow_put_Owner(window, (OAHWND)our_hwnd);
ok(hr == VFW_E_NOT_CONNECTED, "Got hr %#lx.\n", hr);
testfilter_init(&source); testfilter_init(&source);
IFilterGraph2_AddFilter(graph, &source.filter.IBaseFilter_iface, NULL); IFilterGraph2_AddFilter(graph, &source.filter.IBaseFilter_iface, NULL);
IFilterGraph2_AddFilter(graph, filter, NULL); IFilterGraph2_AddFilter(graph, filter, NULL);
......
...@@ -2395,6 +2395,9 @@ static void test_video_window(void) ...@@ -2395,6 +2395,9 @@ static void test_video_window(void)
hr = IVideoWindow_put_AutoShow(window, OAFALSE); hr = IVideoWindow_put_AutoShow(window, OAFALSE);
ok(hr == VFW_E_NOT_CONNECTED, "Got hr %#lx.\n", hr); ok(hr == VFW_E_NOT_CONNECTED, "Got hr %#lx.\n", hr);
hr = IVideoWindow_put_Owner(window, (OAHWND)our_hwnd);
ok(hr == VFW_E_NOT_CONNECTED, "Got hr %#lx.\n", hr);
testfilter_init(&source); testfilter_init(&source);
IFilterGraph2_AddFilter(graph, &source.filter.IBaseFilter_iface, NULL); IFilterGraph2_AddFilter(graph, &source.filter.IBaseFilter_iface, NULL);
IFilterGraph2_AddFilter(graph, filter, NULL); IFilterGraph2_AddFilter(graph, filter, NULL);
......
...@@ -2621,6 +2621,9 @@ static void test_video_window(void) ...@@ -2621,6 +2621,9 @@ static void test_video_window(void)
hr = IVideoWindow_put_AutoShow(window, OAFALSE); hr = IVideoWindow_put_AutoShow(window, OAFALSE);
ok(hr == VFW_E_NOT_CONNECTED, "Got hr %#lx.\n", hr); ok(hr == VFW_E_NOT_CONNECTED, "Got hr %#lx.\n", hr);
hr = IVideoWindow_put_Owner(window, (OAHWND)our_hwnd);
ok(hr == VFW_E_NOT_CONNECTED, "Got hr %#lx.\n", hr);
testfilter_init(&source); testfilter_init(&source);
IFilterGraph2_AddFilter(graph, &source.filter.IBaseFilter_iface, NULL); IFilterGraph2_AddFilter(graph, &source.filter.IBaseFilter_iface, NULL);
IFilterGraph2_AddFilter(graph, filter, NULL); IFilterGraph2_AddFilter(graph, filter, NULL);
......
...@@ -482,6 +482,9 @@ HRESULT WINAPI BaseControlWindowImpl_put_Owner(IVideoWindow *iface, OAHWND owner ...@@ -482,6 +482,9 @@ HRESULT WINAPI BaseControlWindowImpl_put_Owner(IVideoWindow *iface, OAHWND owner
TRACE("window %p, owner %#Ix.\n", window, owner); TRACE("window %p, owner %#Ix.\n", window, owner);
if (!window->pPin->peer)
return VFW_E_NOT_CONNECTED;
/* Make sure we are marked as WS_CHILD before reparenting ourselves, so that /* Make sure we are marked as WS_CHILD before reparenting ourselves, so that
* we do not steal focus. LEGO Island depends on this. */ * we do not steal focus. LEGO Island depends on this. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment