From a7d019a07b216ade227dab27894bcc4273b286b4 Mon Sep 17 00:00:00 2001 From: Mister_Nebula <41904486+misternebula@users.noreply.github.com> Date: Fri, 26 Feb 2021 17:04:16 +0000 Subject: [PATCH] add null catching --- QSB/QuantumSync/Patches/QuantumPatches.cs | 5 +++++ QSB/WorldSync/QSBWorldSync.cs | 7 ++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/QSB/QuantumSync/Patches/QuantumPatches.cs b/QSB/QuantumSync/Patches/QuantumPatches.cs index b48d2753..116b02cd 100644 --- a/QSB/QuantumSync/Patches/QuantumPatches.cs +++ b/QSB/QuantumSync/Patches/QuantumPatches.cs @@ -160,6 +160,11 @@ namespace QSB.QuantumSync.Patches public static void Socketed_MoveToSocket(SocketedQuantumObject __instance, QuantumSocket socket) { + if (socket == null) + { + DebugLog.ToConsole($"Error - Trying to move {__instance.name} to a null socket!", MessageType.Error); + return; + } var objectWorldObject = QSBWorldSync.GetWorldObject(__instance); var socketWorldObject = QSBWorldSync.GetWorldObject(socket); if (objectWorldObject == null) diff --git a/QSB/WorldSync/QSBWorldSync.cs b/QSB/WorldSync/QSBWorldSync.cs index faaf7f49..6c721928 100644 --- a/QSB/WorldSync/QSBWorldSync.cs +++ b/QSB/WorldSync/QSBWorldSync.cs @@ -32,11 +32,16 @@ namespace QSB.WorldSync where TUnityObject : MonoBehaviour { var allWorldObjects = GetWorldObjects(); - if (allWorldObjects.Count() == 0) + if (allWorldObjects.Count() == 0 || allWorldObjects == null) { DebugLog.ToConsole($"Error - No worldobjects exist of type {typeof(TWorldObject).Name}!", MessageType.Error); return null; } + if (unityObject == null) + { + DebugLog.ToConsole($"Error - Can't get world object from a null unity object! Type:{typeof(TUnityObject).Name}", MessageType.Error); + return null; + } var correctWorldObject = allWorldObjects.First(x => x.AttachedObject == unityObject); return correctWorldObject; }