From 0635caab6545be60081155d237457fe4413b1fca Mon Sep 17 00:00:00 2001 From: defnotken Date: Sun, 12 Oct 2025 12:09:06 -0500 Subject: [PATCH] Safety checks for NullDrawObject --- .../PlayerData/Factories/PlayerDataFactory.cs | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/LightlessSync/PlayerData/Factories/PlayerDataFactory.cs b/LightlessSync/PlayerData/Factories/PlayerDataFactory.cs index 6e21ad2..f752051 100644 --- a/LightlessSync/PlayerData/Factories/PlayerDataFactory.cs +++ b/LightlessSync/PlayerData/Factories/PlayerDataFactory.cs @@ -98,7 +98,19 @@ public class PlayerDataFactory private unsafe bool CheckForNullDrawObjectUnsafe(IntPtr playerPointer) { - return ((Character*)playerPointer)->GameObject.DrawObject == null; + if (playerPointer == IntPtr.Zero) + return true; + + var character = (Character*)playerPointer; + + if (character == null) + return true; + + var gameObject = &character->GameObject; + if (gameObject == null) + return true; + + return gameObject->DrawObject == null; } private async Task CreateCharacterData(GameObjectHandler playerRelatedObject, CancellationToken ct)