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