From: Akihiro Sagawa <sagawa.aki@gmail.com> Otherwise, WaitForCompletion returns immediately because the completion event remains set. --- dlls/quartz/filtergraph.c | 1 + dlls/quartz/tests/filtergraph.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/dlls/quartz/filtergraph.c b/dlls/quartz/filtergraph.c index 17e5bb1c5b3..1fd82ca6be6 100644 --- a/dlls/quartz/filtergraph.c +++ b/dlls/quartz/filtergraph.c @@ -1791,6 +1791,7 @@ static HRESULT graph_start(struct filter_graph *graph, REFERENCE_TIME stream_sta } if (list_empty(&graph->media_events)) ResetEvent(graph->media_event_handle); + ResetEvent(graph->hEventCompletion); if (graph->defaultclock && !graph->refClock) IFilterGraph2_SetDefaultSyncSource(&graph->IFilterGraph2_iface); diff --git a/dlls/quartz/tests/filtergraph.c b/dlls/quartz/tests/filtergraph.c index 700bf36030f..a3071c0db91 100644 --- a/dlls/quartz/tests/filtergraph.c +++ b/dlls/quartz/tests/filtergraph.c @@ -5978,7 +5978,7 @@ static void test_events(void) ok(hr == S_OK, "Got hr %#lx.\n", hr); hr = IMediaEventEx_WaitForCompletion(media_event, 0, &code); - todo_wine ok(hr == E_ABORT, "Got hr %#lx.\n", hr); + ok(hr == E_ABORT, "Got hr %#lx.\n", hr); hr = IMediaControl_Stop(media_control); ok(hr == S_OK, "Got hr %#lx.\n", hr); -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/10458