Maarten Lankhorst : quartz: Only query for event interface when there is a filtergraph.
Alexandre Julliard
julliard at winehq.org
Sat Jun 21 05:39:05 CDT 2008
Module: wine
Branch: master
Commit: 3a9040c1f2a762c7e8dc68c240cb57fd08fee0b8
URL: http://source.winehq.org/git/wine.git/?a=commit;h=3a9040c1f2a762c7e8dc68c240cb57fd08fee0b8
Author: Maarten Lankhorst <m.b.lankhorst at 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;
More information about the wine-cvs
mailing list