From 546da61a7e2789707b7fa137e2fb76d679a135c5 Mon Sep 17 00:00:00 2001 From: JohnCorby Date: Thu, 10 Nov 2022 15:16:53 -0800 Subject: [PATCH] do error here --- QSB/ItemSync/WorldObjects/Items/QSBItem.cs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/QSB/ItemSync/WorldObjects/Items/QSBItem.cs b/QSB/ItemSync/WorldObjects/Items/QSBItem.cs index 226221d6..9ca206f5 100644 --- a/QSB/ItemSync/WorldObjects/Items/QSBItem.cs +++ b/QSB/ItemSync/WorldObjects/Items/QSBItem.cs @@ -1,9 +1,11 @@ using Cysharp.Threading.Tasks; +using OWML.Common; using QSB.ItemSync.Messages; using QSB.ItemSync.WorldObjects.Sockets; using QSB.Messaging; using QSB.Player; using QSB.SectorSync.WorldObjects; +using QSB.Utility; using QSB.WorldSync; using System.Threading; using UnityEngine; @@ -54,8 +56,13 @@ public class QSBItem : WorldObject, IQSBItem _lastSector = sector.GetWorldObject(); } - // BUG: even when not including DontDestroyOnLoad things, NH still can make parent null sometimes. what - var socket = _lastParent?.GetComponent(); + // TODO test and then remove + if (!_lastParent) + { + DebugLog.DebugWrite($"{this} - parent for item {AttachedObject} at {AttachedObject.DeterministicPath()} is null! wtf!", MessageType.Error); + return; + } + var socket = _lastParent.GetComponent(); if (socket != null) { _lastSocket = socket.GetWorldObject();