From e1676fc989471fd551f4e0654eefad783440ea1c Mon Sep 17 00:00:00 2001 From: Michael Stefaniuc Date: Wed, 12 Mar 2014 23:10:12 +0100 Subject: [PATCH] dmloader: Don't crash on container destruction if it was never loaded. --- dlls/dmloader/container.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/dlls/dmloader/container.c b/dlls/dmloader/container.c index f53a0740057..4fb5f974a54 100644 --- a/dlls/dmloader/container.c +++ b/dlls/dmloader/container.c @@ -68,7 +68,6 @@ static HRESULT destroy_dmcontainer(IDirectMusicContainerImpl *This) IStream_Release (This->pStream); /* FIXME: release allocated entries */ - unlock_module(); return S_OK; } @@ -108,8 +107,10 @@ static ULONG WINAPI IDirectMusicContainerImpl_IDirectMusicContainer_Release (LPD DWORD dwRef = InterlockedDecrement (&This->dwRef); TRACE("(%p): ReleaseRef to %d\n", This, dwRef); if (dwRef == 0) { - destroy_dmcontainer(This); + if (This->pStream) + destroy_dmcontainer(This); HeapFree(GetProcessHeap(), 0, This); + unlock_module(); } return dwRef;