Module: wine Branch: master Commit: 3a9040c1f2a762c7e8dc68c240cb57fd08fee0b8 URL: http://source.winehq.org/git/wine.git/?a=commit;h=3a9040c1f2a762c7e8dc68c240...
Author: Maarten Lankhorst m.b.lankhorst@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;