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:
baldurk
2016-07-05 17:12:27 +03:00
parent e2cec61cb0
commit 72006dbfcd
6 changed files with 26 additions and 26 deletions
+1 -1
View File
@@ -65,7 +65,7 @@ HRESULT STDMETHODCALLTYPE WrappedID3DUserDefinedAnnotation::QueryInterface(REFII
if(riid == ID3D11UserDefinedAnnotation_uuid)
{
*ppvObject = (void *)this;
*ppvObject = (void *)(ID3DUserDefinedAnnotation *)this;
AddRef();
return S_OK;
}
+5 -5
View File
@@ -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
+4 -4
View File
@@ -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
+2 -2
View File
@@ -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;
}
};
+12 -12
View File
@@ -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
+2 -2
View File
@@ -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;
}