From b587d019d882ed7a7d94467e8ea00e28125a3ce6 Mon Sep 17 00:00:00 2001 From: baldurk Date: Thu, 9 Jun 2016 12:58:03 -0700 Subject: [PATCH] Coverity: Delete unused wrapped if GUID isn't matched in QueryInterface --- renderdoc/driver/d3d11/d3d11_resources.h | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/renderdoc/driver/d3d11/d3d11_resources.h b/renderdoc/driver/d3d11/d3d11_resources.h index b5b1c9b0f..b5761bcac 100644 --- a/renderdoc/driver/d3d11/d3d11_resources.h +++ b/renderdoc/driver/d3d11/d3d11_resources.h @@ -558,21 +558,42 @@ public: m_pDevice->GetResourceManager()->MarkDirtyResource(GetResourceID()); if(riid == __uuidof(IDXGIObject)) + { *ppvObject = (IDXGIObject *)(IDXGIKeyedMutex *)dxgiWrapper; + } else if(riid == __uuidof(IDXGIDeviceSubObject)) + { *ppvObject = (IDXGIDeviceSubObject *)(IDXGIKeyedMutex *)dxgiWrapper; + } else if(riid == __uuidof(IDXGIResource)) + { *ppvObject = (IDXGIResource *)dxgiWrapper; + } else if(riid == __uuidof(IDXGIKeyedMutex)) + { *ppvObject = (IDXGIKeyedMutex *)dxgiWrapper; + } else if(riid == __uuidof(IDXGISurface)) + { *ppvObject = (IDXGISurface *)dxgiWrapper; + } else if(riid == __uuidof(IDXGISurface1)) + { *ppvObject = (IDXGISurface1 *)dxgiWrapper; + } else if(riid == __uuidof(IDXGIResource1)) + { *ppvObject = (IDXGIResource1 *)dxgiWrapper; + } else if(riid == __uuidof(IDXGISurface2)) + { *ppvObject = (IDXGISurface2 *)dxgiWrapper; + } + else + { + RDCWARN("Unexpected guid %s", ToStr::Get(riid).c_str()); + SAFE_DELETE(dxgiWrapper); + } return S_OK; }