mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-05-12 13:00:32 +00:00
Make sure to cast to the correct return type.
* Some of these already worked via the first inherited interface being the right one, but it's better to be safe. When writing to void* the right vtable must be sitting in place.
This commit is contained in:
@@ -65,7 +65,7 @@ HRESULT STDMETHODCALLTYPE WrappedID3DUserDefinedAnnotation::QueryInterface(REFII
|
||||
|
||||
if(riid == ID3D11UserDefinedAnnotation_uuid)
|
||||
{
|
||||
*ppvObject = (void *)this;
|
||||
*ppvObject = (void *)(ID3DUserDefinedAnnotation *)this;
|
||||
AddRef();
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
@@ -624,7 +624,7 @@ HRESULT WrappedID3D11Device::QueryInterface(REFIID riid, void **ppvObject)
|
||||
if(SUCCEEDED(hr))
|
||||
{
|
||||
IDXGIDevice *real = (IDXGIDevice *)(*ppvObject);
|
||||
*ppvObject = new WrappedIDXGIDevice(real, this);
|
||||
*ppvObject = (IDXGIDevice *)(new WrappedIDXGIDevice(real, this));
|
||||
return S_OK;
|
||||
}
|
||||
else
|
||||
@@ -640,7 +640,7 @@ HRESULT WrappedID3D11Device::QueryInterface(REFIID riid, void **ppvObject)
|
||||
if(SUCCEEDED(hr))
|
||||
{
|
||||
IDXGIDevice1 *real = (IDXGIDevice1 *)(*ppvObject);
|
||||
*ppvObject = new WrappedIDXGIDevice1(real, this);
|
||||
*ppvObject = (IDXGIDevice1 *)(new WrappedIDXGIDevice1(real, this));
|
||||
return S_OK;
|
||||
}
|
||||
else
|
||||
@@ -656,7 +656,7 @@ HRESULT WrappedID3D11Device::QueryInterface(REFIID riid, void **ppvObject)
|
||||
if(SUCCEEDED(hr))
|
||||
{
|
||||
IDXGIDevice2 *real = (IDXGIDevice2 *)(*ppvObject);
|
||||
*ppvObject = new WrappedIDXGIDevice2(real, this);
|
||||
*ppvObject = (IDXGIDevice2 *)(new WrappedIDXGIDevice2(real, this));
|
||||
return S_OK;
|
||||
}
|
||||
else
|
||||
@@ -672,7 +672,7 @@ HRESULT WrappedID3D11Device::QueryInterface(REFIID riid, void **ppvObject)
|
||||
if(SUCCEEDED(hr))
|
||||
{
|
||||
IDXGIDevice3 *real = (IDXGIDevice3 *)(*ppvObject);
|
||||
*ppvObject = new WrappedIDXGIDevice3(real, this);
|
||||
*ppvObject = (IDXGIDevice3 *)(new WrappedIDXGIDevice3(real, this));
|
||||
return S_OK;
|
||||
}
|
||||
else
|
||||
@@ -788,7 +788,7 @@ HRESULT WrappedID3D11Device::QueryInterface(REFIID riid, void **ppvObject)
|
||||
else if(riid == IRenderDoc_uuid)
|
||||
{
|
||||
AddRef();
|
||||
*ppvObject = static_cast<IUnknown *>(this);
|
||||
*ppvObject = (IUnknown *)this;
|
||||
return S_OK;
|
||||
}
|
||||
else
|
||||
|
||||
@@ -320,7 +320,7 @@ HRESULT WrappedID3D12Device::QueryInterface(REFIID riid, void **ppvObject)
|
||||
if(SUCCEEDED(hr))
|
||||
{
|
||||
IDXGIDevice *real = (IDXGIDevice *)(*ppvObject);
|
||||
*ppvObject = new WrappedIDXGIDevice(real, this);
|
||||
*ppvObject = (IDXGIDevice *)(new WrappedIDXGIDevice(real, this));
|
||||
return S_OK;
|
||||
}
|
||||
else
|
||||
@@ -336,7 +336,7 @@ HRESULT WrappedID3D12Device::QueryInterface(REFIID riid, void **ppvObject)
|
||||
if(SUCCEEDED(hr))
|
||||
{
|
||||
IDXGIDevice1 *real = (IDXGIDevice1 *)(*ppvObject);
|
||||
*ppvObject = new WrappedIDXGIDevice1(real, this);
|
||||
*ppvObject = (IDXGIDevice1 *)(new WrappedIDXGIDevice1(real, this));
|
||||
return S_OK;
|
||||
}
|
||||
else
|
||||
@@ -352,7 +352,7 @@ HRESULT WrappedID3D12Device::QueryInterface(REFIID riid, void **ppvObject)
|
||||
if(SUCCEEDED(hr))
|
||||
{
|
||||
IDXGIDevice2 *real = (IDXGIDevice2 *)(*ppvObject);
|
||||
*ppvObject = new WrappedIDXGIDevice2(real, this);
|
||||
*ppvObject = (IDXGIDevice2 *)(new WrappedIDXGIDevice2(real, this));
|
||||
return S_OK;
|
||||
}
|
||||
else
|
||||
@@ -368,7 +368,7 @@ HRESULT WrappedID3D12Device::QueryInterface(REFIID riid, void **ppvObject)
|
||||
if(SUCCEEDED(hr))
|
||||
{
|
||||
IDXGIDevice3 *real = (IDXGIDevice3 *)(*ppvObject);
|
||||
*ppvObject = new WrappedIDXGIDevice3(real, this);
|
||||
*ppvObject = (IDXGIDevice3 *)(new WrappedIDXGIDevice3(real, this));
|
||||
return S_OK;
|
||||
}
|
||||
else
|
||||
|
||||
@@ -231,7 +231,7 @@ private:
|
||||
|
||||
RDCDEBUG("created wrapped device.");
|
||||
|
||||
*ppDevice = wrap;
|
||||
*ppDevice = (ID3D12Device *)wrap;
|
||||
}
|
||||
}
|
||||
else if(SUCCEEDED(ret))
|
||||
@@ -271,7 +271,7 @@ private:
|
||||
return E_NOINTERFACE;
|
||||
}
|
||||
|
||||
*ppvDebug = new WrappedID3D12Debug();
|
||||
*ppvDebug = (ID3D12Debug *)(new WrappedID3D12Debug());
|
||||
return S_OK;
|
||||
}
|
||||
};
|
||||
|
||||
@@ -451,7 +451,7 @@ bool RefCountDXGIObject::HandleWrap(REFIID riid, void **ppvObject)
|
||||
else if(riid == __uuidof(IDXGIAdapter))
|
||||
{
|
||||
IDXGIAdapter *real = (IDXGIAdapter *)(*ppvObject);
|
||||
*ppvObject = new WrappedIDXGIAdapter(real);
|
||||
*ppvObject = (IDXGIAdapter *)(new WrappedIDXGIAdapter(real));
|
||||
return true;
|
||||
}
|
||||
else if(riid == __uuidof(IDXGIFactory))
|
||||
@@ -462,7 +462,7 @@ bool RefCountDXGIObject::HandleWrap(REFIID riid, void **ppvObject)
|
||||
// IDXGIFactory1 like a IDXGIFactory should all just work by definition, but there's no way to
|
||||
// know now if someone trying to create a IDXGIFactory really means it or not.
|
||||
IDXGIFactory1 *real = (IDXGIFactory1 *)(*ppvObject);
|
||||
*ppvObject = new WrappedIDXGIFactory1(real);
|
||||
*ppvObject = (IDXGIFactory *)(new WrappedIDXGIFactory1(real));
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -475,43 +475,43 @@ bool RefCountDXGIObject::HandleWrap(REFIID riid, void **ppvObject)
|
||||
else if(riid == __uuidof(IDXGIAdapter1))
|
||||
{
|
||||
IDXGIAdapter1 *real = (IDXGIAdapter1 *)(*ppvObject);
|
||||
*ppvObject = new WrappedIDXGIAdapter1(real);
|
||||
*ppvObject = (IDXGIAdapter1 *)(new WrappedIDXGIAdapter1(real));
|
||||
return true;
|
||||
}
|
||||
else if(riid == __uuidof(IDXGIFactory1))
|
||||
{
|
||||
IDXGIFactory1 *real = (IDXGIFactory1 *)(*ppvObject);
|
||||
*ppvObject = new WrappedIDXGIFactory1(real);
|
||||
*ppvObject = (IDXGIFactory1 *)(new WrappedIDXGIFactory1(real));
|
||||
return true;
|
||||
}
|
||||
else if(riid == __uuidof(IDXGIAdapter2))
|
||||
{
|
||||
IDXGIAdapter2 *real = (IDXGIAdapter2 *)(*ppvObject);
|
||||
*ppvObject = new WrappedIDXGIAdapter2(real);
|
||||
*ppvObject = (IDXGIAdapter2 *)(new WrappedIDXGIAdapter2(real));
|
||||
return true;
|
||||
}
|
||||
else if(riid == __uuidof(IDXGIAdapter3))
|
||||
{
|
||||
IDXGIAdapter3 *real = (IDXGIAdapter3 *)(*ppvObject);
|
||||
*ppvObject = new WrappedIDXGIAdapter3(real);
|
||||
*ppvObject = (IDXGIAdapter3 *)(new WrappedIDXGIAdapter3(real));
|
||||
return true;
|
||||
}
|
||||
else if(riid == __uuidof(IDXGIFactory2))
|
||||
{
|
||||
IDXGIFactory2 *real = (IDXGIFactory2 *)(*ppvObject);
|
||||
*ppvObject = new WrappedIDXGIFactory2(real);
|
||||
*ppvObject = (IDXGIFactory2 *)(new WrappedIDXGIFactory2(real));
|
||||
return true;
|
||||
}
|
||||
else if(riid == __uuidof(IDXGIFactory3))
|
||||
{
|
||||
IDXGIFactory3 *real = (IDXGIFactory3 *)(*ppvObject);
|
||||
*ppvObject = new WrappedIDXGIFactory3(real);
|
||||
*ppvObject = (IDXGIFactory3 *)(new WrappedIDXGIFactory3(real));
|
||||
return true;
|
||||
}
|
||||
else if(riid == __uuidof(IDXGIFactory4))
|
||||
{
|
||||
IDXGIFactory4 *real = (IDXGIFactory4 *)(*ppvObject);
|
||||
*ppvObject = new WrappedIDXGIFactory4(real);
|
||||
*ppvObject = (IDXGIFactory4 *)(new WrappedIDXGIFactory4(real));
|
||||
return true;
|
||||
}
|
||||
else
|
||||
@@ -641,7 +641,7 @@ HRESULT STDMETHODCALLTYPE WrappedIDXGIDevice1::QueryInterface(REFIID riid, void
|
||||
if(SUCCEEDED(hr))
|
||||
{
|
||||
IDXGIDevice2 *real = (IDXGIDevice2 *)(*ppvObject);
|
||||
*ppvObject = new WrappedIDXGIDevice2(real, m_pD3DDevice);
|
||||
*ppvObject = (IDXGIDevice2 *)(new WrappedIDXGIDevice2(real, m_pD3DDevice));
|
||||
return S_OK;
|
||||
}
|
||||
else
|
||||
@@ -656,7 +656,7 @@ HRESULT STDMETHODCALLTYPE WrappedIDXGIDevice1::QueryInterface(REFIID riid, void
|
||||
if(SUCCEEDED(hr))
|
||||
{
|
||||
IDXGIDevice3 *real = (IDXGIDevice3 *)(*ppvObject);
|
||||
*ppvObject = new WrappedIDXGIDevice3(real, m_pD3DDevice);
|
||||
*ppvObject = (IDXGIDevice3 *)(new WrappedIDXGIDevice3(real, m_pD3DDevice));
|
||||
return S_OK;
|
||||
}
|
||||
else
|
||||
@@ -700,7 +700,7 @@ HRESULT STDMETHODCALLTYPE WrappedIDXGIDevice2::QueryInterface(REFIID riid, void
|
||||
if(SUCCEEDED(hr))
|
||||
{
|
||||
IDXGIDevice3 *real = (IDXGIDevice3 *)(*ppvObject);
|
||||
*ppvObject = new WrappedIDXGIDevice3(real, m_pD3DDevice);
|
||||
*ppvObject = (IDXGIDevice3 *)(new WrappedIDXGIDevice3(real, m_pD3DDevice));
|
||||
return S_OK;
|
||||
}
|
||||
else
|
||||
|
||||
@@ -2348,7 +2348,7 @@ public:
|
||||
if(SUCCEEDED(ret) && ppvAdapter && *ppvAdapter)
|
||||
{
|
||||
IDXGIAdapter *adapter = (IDXGIAdapter *)*ppvAdapter;
|
||||
*ppvAdapter = (void *)new WrappedIDXGIAdapter(adapter);
|
||||
*ppvAdapter = (IDXGIAdapter *)(new WrappedIDXGIAdapter(adapter));
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
@@ -2363,7 +2363,7 @@ public:
|
||||
if(SUCCEEDED(ret) && ppvAdapter && *ppvAdapter)
|
||||
{
|
||||
IDXGIAdapter *adapter = (IDXGIAdapter *)*ppvAdapter;
|
||||
*ppvAdapter = (void *)new WrappedIDXGIAdapter(adapter);
|
||||
*ppvAdapter = (IDXGIAdapter *)(new WrappedIDXGIAdapter(adapter));
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user