mirror of
https://github.com/narzoul/DDrawCompat
synced 2024-12-30 08:55:36 +01:00
Fixed a GDI resource leak when NVIDIA overlay is enabled
See issue #282.
This commit is contained in:
parent
ca2c3b7106
commit
2e48469ae4
@ -15,6 +15,7 @@
|
|||||||
#include <D3dDdi/ScopedCriticalSection.h>
|
#include <D3dDdi/ScopedCriticalSection.h>
|
||||||
#include <D3dDdi/ShaderAssembler.h>
|
#include <D3dDdi/ShaderAssembler.h>
|
||||||
#include <DDraw/ScopedThreadLock.h>
|
#include <DDraw/ScopedThreadLock.h>
|
||||||
|
#include <Gdi/DcFunctions.h>
|
||||||
|
|
||||||
namespace
|
namespace
|
||||||
{
|
{
|
||||||
@ -462,7 +463,9 @@ namespace D3dDdi
|
|||||||
d.hSrcResource = resource->prepareForGpuRead(data->SrcSubResourceIndex);
|
d.hSrcResource = resource->prepareForGpuRead(data->SrcSubResourceIndex);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Gdi::DcFunctions::disableDibRedirection(true);
|
||||||
HRESULT result = m_origVtable.pfnPresent(m_device, &d);
|
HRESULT result = m_origVtable.pfnPresent(m_device, &d);
|
||||||
|
Gdi::DcFunctions::disableDibRedirection(false);
|
||||||
updateAllConfigNow();
|
updateAllConfigNow();
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
@ -481,7 +484,9 @@ namespace D3dDdi
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Gdi::DcFunctions::disableDibRedirection(true);
|
||||||
HRESULT result = m_origVtable.pfnPresent1(m_device, data);
|
HRESULT result = m_origVtable.pfnPresent1(m_device, data);
|
||||||
|
Gdi::DcFunctions::disableDibRedirection(false);
|
||||||
updateAllConfigNow();
|
updateAllConfigNow();
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user