From dbecf7cdb19104175407db90044682225f6b5b9c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20L=C3=BCbe=C3=9F?= Date: Tue, 17 Nov 2020 12:56:13 +0100 Subject: [PATCH] Fixed com interface releasing and nullification --- GlitchyEngine/src/Platform/DX11/DirectX.bf | 24 +++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/GlitchyEngine/src/Platform/DX11/DirectX.bf b/GlitchyEngine/src/Platform/DX11/DirectX.bf index f554e83..b957bfc 100644 --- a/GlitchyEngine/src/Platform/DX11/DirectX.bf +++ b/GlitchyEngine/src/Platform/DX11/DirectX.bf @@ -40,8 +40,11 @@ namespace GlitchyEngine.Platform.DX11 */ static void InitDevice() { - IUnknown.ReleaseAndNull!(ref Device); - IUnknown.ReleaseAndNull!(ref ImmediateContext); + Device?.Release(); + Device = null; + + ImmediateContext?.Release(); + ImmediateContext = null; Log.EngineLogger.Trace("Creating D3D11 Device and Context..."); @@ -123,13 +126,20 @@ namespace GlitchyEngine.Platform.DX11 public static void Shutdown() { - IUnknown.ReleaseAndNull!(ref Device); - IUnknown.ReleaseAndNull!(ref ImmediateContext); + Device?.Release(); + Device = null; - IUnknown.ReleaseAndNull!(ref DxgiDevice); - IUnknown.ReleaseAndNull!(ref SwapChain); + ImmediateContext?.Release(); + ImmediateContext = null; + + DxgiDevice?.Release(); + DxgiDevice = null; - IUnknown.ReleaseAndNull!(ref BackBufferTarget); + SwapChain?.Release(); + SwapChain = null; + + BackBufferTarget?.Release(); + BackBufferTarget = null; } public static void Present()