Maarten Lankhorst : quartz: Only query for event interface when there is a filtergraph.
Module: wine Branch: master Commit: 3a9040c1f2a762c7e8dc68c240cb57fd08fee0b8 URL: http://source.winehq.org/git/wine.git/?a=commit;h=3a9040c1f2a762c7e8dc68c240... Author: Maarten Lankhorst <m.b.lankhorst(a)gmail.com> Date: Tue Jun 10 18:00:38 2008 +0200 quartz: Only query for event interface when there is a filtergraph. Prevents a null pointer dereference. --- dlls/quartz/nullrenderer.c | 15 ++++++++++----- 1 files changed, 10 insertions(+), 5 deletions(-) diff --git a/dlls/quartz/nullrenderer.c b/dlls/quartz/nullrenderer.c index bcbf32b..6071a4a 100644 --- a/dlls/quartz/nullrenderer.c +++ b/dlls/quartz/nullrenderer.c @@ -568,16 +568,21 @@ static HRESULT WINAPI NullRenderer_InputPin_EndOfStream(IPin * iface) { InputPin* This = (InputPin*)iface; IMediaEventSink* pEventSink; - HRESULT hr; + IFilterGraph *graph; + HRESULT hr = S_OK; TRACE("(%p/%p)->()\n", This, iface); InputPin_EndOfStream(iface); - hr = IFilterGraph_QueryInterface(((NullRendererImpl*)This->pin.pinInfo.pFilter)->filterInfo.pGraph, &IID_IMediaEventSink, (LPVOID*)&pEventSink); - if (SUCCEEDED(hr)) + graph = ((NullRendererImpl*)This->pin.pinInfo.pFilter)->filterInfo.pGraph; + if (graph) { - hr = IMediaEventSink_Notify(pEventSink, EC_COMPLETE, S_OK, 0); - IMediaEventSink_Release(pEventSink); + hr = IFilterGraph_QueryInterface(((NullRendererImpl*)This->pin.pinInfo.pFilter)->filterInfo.pGraph, &IID_IMediaEventSink, (LPVOID*)&pEventSink); + if (SUCCEEDED(hr)) + { + hr = IMediaEventSink_Notify(pEventSink, EC_COMPLETE, S_OK, 0); + IMediaEventSink_Release(pEventSink); + } } return hr;
participants (1)
-
Alexandre Julliard