From 125f063aaacb7236732a4d47f4bd2c3e3d7a3d82 Mon Sep 17 00:00:00 2001 From: r00telement <47005506+r00telement@users.noreply.github.com> Date: Sat, 8 Jan 2022 20:28:07 +0000 Subject: [PATCH] Cleaned up another game free call --- .../GameInterface/ContextMenus/ContextMenuReaderWriter.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/PlayerTags/GameInterface/ContextMenus/ContextMenuReaderWriter.cs b/PlayerTags/GameInterface/ContextMenus/ContextMenuReaderWriter.cs index dd9be79..d688745 100644 --- a/PlayerTags/GameInterface/ContextMenus/ContextMenuReaderWriter.cs +++ b/PlayerTags/GameInterface/ContextMenus/ContextMenuReaderWriter.cs @@ -300,7 +300,10 @@ namespace PlayerTags.GameInterface.ContextMenus Buffer.MemoryCopy(m_AtkValues, newAtkValues, newAtkValuesArraySize - arrayCountSize, (long)sizeof(AtkValue) * FirstContextMenuItemIndex); // Free the old array - IMemorySpace.Free((void*)((IntPtr)(m_AtkValues) - arrayCountSize), arrayCountSize + (ulong)sizeof(AtkValue) * *(ulong*)((IntPtr)m_AtkValues - 8)); + IntPtr oldArray = (IntPtr)m_AtkValues - arrayCountSize; + ulong oldArrayCount = *(ulong*)oldArray; + ulong oldArraySize = arrayCountSize + ((ulong)sizeof(AtkValue) * oldArrayCount); + GameInterfaceHelper.GameFree(ref oldArray, oldArraySize); // Set the array count *(ulong*)newAtkValuesArray = (ulong)newAtkValuesCount;