Kind of fixed a memory leak

This commit is contained in:
Simon Lübeß
2023-07-01 12:49:17 +02:00
parent 77c45db122
commit a507eeb1cd
2 changed files with 17 additions and 19 deletions
+10
View File
@@ -1,6 +1,7 @@
using DirectX.Common;
using GlitchyEngine.Core;
using System.Collections;
using System;
namespace GlitchyEngine
{
@@ -15,6 +16,15 @@ namespace GlitchyEngine
oldDest?.ReleaseRef();
}
/// Releases the reference to destination, writes newValue into it and adds a reference to newValue.
public static mixin SetReferenceVar<T>(T destination, T newValue) where T: var
{
var oldDest = destination;
destination = newValue;
destination?.AddRef();
oldDest?.Release();
}
/// Releases the reference to value and nullifies it.
public static mixin ReleaseRefAndNullify<T>(T value) where T: RefCounter
{