Only wrap DXGI outputs if one is returned (some functions return NULL)

This commit is contained in:
baldurk
2017-06-09 20:08:39 +01:00
parent ab96b05b53
commit cd56726040
+3 -3
View File
@@ -359,7 +359,7 @@ HRESULT STDMETHODCALLTYPE WrappedIDXGISwapChain4::GetContainingOutput(IDXGIOutpu
{
HRESULT ret = m_pReal->GetContainingOutput(ppOutput);
if(SUCCEEDED(ret))
if(SUCCEEDED(ret) && *ppOutput)
*ppOutput = (IDXGIOutput *)(new WrappedIDXGIOutput5(this, *ppOutput));
return ret;
@@ -408,7 +408,7 @@ HRESULT WrappedIDXGISwapChain4::GetFullscreenState(
{
HRESULT ret = m_pReal->GetFullscreenState(pFullscreen, ppTarget);
if(SUCCEEDED(ret))
if(SUCCEEDED(ret) && *ppTarget)
*ppTarget = (IDXGIOutput *)(new WrappedIDXGIOutput5(this, *ppTarget));
return ret;
@@ -554,7 +554,7 @@ HRESULT STDMETHODCALLTYPE WrappedIDXGISwapChain4::GetRestrictToOutput(IDXGIOutpu
{
HRESULT ret = m_pReal2->GetRestrictToOutput(ppRestrictToOutput);
if(SUCCEEDED(ret))
if(SUCCEEDED(ret) && *ppRestrictToOutput)
*ppRestrictToOutput = (IDXGIOutput *)(new WrappedIDXGIOutput5(this, *ppRestrictToOutput));
return ret;