[PATCH 11/13] quartz: Don't set the VideoRenderer object on creation failure

Michael Stefaniuc mstefani at redhat.de
Sun Jul 1 18:05:01 CDT 2012


---
 dlls/quartz/videorenderer.c |   12 +++++++-----
 1 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/dlls/quartz/videorenderer.c b/dlls/quartz/videorenderer.c
index 3e632cb..0edf406 100644
--- a/dlls/quartz/videorenderer.c
+++ b/dlls/quartz/videorenderer.c
@@ -668,8 +668,6 @@ HRESULT VideoRenderer_create(IUnknown * pUnkOuter, LPVOID * ppv)
     if (FAILED(hr))
         goto fail;
 
-    *ppv = pVideoRenderer;
-
     hr = BaseControlWindow_Init(&pVideoRenderer->baseControlWindow, &IVideoWindow_VTable, &pVideoRenderer->renderer.filter, &pVideoRenderer->renderer.filter.csFilter, &pVideoRenderer->renderer.pInputPin->pin, &renderer_BaseWindowFuncTable);
     if (FAILED(hr))
         goto fail;
@@ -678,10 +676,14 @@ HRESULT VideoRenderer_create(IUnknown * pUnkOuter, LPVOID * ppv)
     if (FAILED(hr))
         goto fail;
 
-    if (!CreateRenderingSubsystem(pVideoRenderer))
-        return E_FAIL;
+    if (!CreateRenderingSubsystem(pVideoRenderer)) {
+        hr = E_FAIL;
+        goto fail;
+    }
+
+    *ppv = pVideoRenderer;
+    return S_OK;
 
-    return hr;
 fail:
     BaseRendererImpl_Release(&pVideoRenderer->renderer.filter.IBaseFilter_iface);
     CoTaskMemFree(pVideoRenderer);
-- 
1.7.6.5



More information about the wine-patches mailing list