Skip to content

Commit 6fa3813

Browse files
committed
Improved memory release null check
1 parent 52d6bea commit 6fa3813

File tree

2 files changed

+18
-6
lines changed

2 files changed

+18
-6
lines changed

Assets/_PackageRoot/Runtime/Future/Types/FutureSprite.cs

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -72,9 +72,15 @@ public static void ReleaseMemorySprite(Sprite obj, DebugLevel logLevel = DebugLe
7272
{
7373
if (!ReferenceEquals(obj, null) && obj != null)
7474
{
75-
if (logLevel.IsActive(DebugLevel.Log))
76-
Debug.Log($"[ImageLoader] Release memory Sprite->Texture2D");
77-
UniTask.Post(() => FutureTexture.ReleaseMemoryTexture(obj.texture, logLevel));
75+
UniTask.Post(() =>
76+
{
77+
if (!ReferenceEquals(obj, null) && obj != null) // double check after async delay
78+
{
79+
if (logLevel.IsActive(DebugLevel.Log))
80+
Debug.Log($"[ImageLoader] Release memory Sprite->Texture2D");
81+
FutureTexture.ReleaseMemoryTexture(obj.texture, logLevel);
82+
}
83+
});
7884
}
7985
}
8086

Assets/_PackageRoot/Runtime/Future/Types/FutureTexture.cs

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,15 @@ public static void ReleaseMemoryTexture(Texture2D obj, DebugLevel logLevel = Deb
3838
{
3939
if (!ReferenceEquals(obj, null) && obj != null)
4040
{
41-
if (logLevel.IsActive(DebugLevel.Log))
42-
Debug.Log($"[ImageLoader] Release memory Texture2D");
43-
UniTask.Post(() => UnityEngine.Object.DestroyImmediate(obj));
41+
UniTask.Post(() =>
42+
{
43+
if (!ReferenceEquals(obj, null) && obj != null) // double check after async delay
44+
{
45+
if (logLevel.IsActive(DebugLevel.Log))
46+
Debug.Log($"[ImageLoader] Release memory Texture2D");
47+
FutureTexture.ReleaseMemoryTexture(obj, logLevel);
48+
}
49+
});
4450
}
4551
}
4652

0 commit comments

Comments
 (0)