[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