From 169cf32a0e7d8460296aad8805cac84e2a94a7b3 Mon Sep 17 00:00:00 2001 From: srkizer Date: Mon, 5 Aug 2024 00:42:07 +0900 Subject: [PATCH] Fix NRE from Class/Job/Level change handler (#1996) --- Dalamud/Game/ClientState/ClientState.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Dalamud/Game/ClientState/ClientState.cs b/Dalamud/Game/ClientState/ClientState.cs index edf5e7ff9..9dd999860 100644 --- a/Dalamud/Game/ClientState/ClientState.cs +++ b/Dalamud/Game/ClientState/ClientState.cs @@ -185,11 +185,11 @@ internal sealed class ClientState : IInternalDisposableService, IClientState switch (type) { - case UIModulePacketType.ClassJobChange: + case UIModulePacketType.ClassJobChange when this.ClassJobChanged is { } callback: { var classJobId = uintParam; - foreach (var action in this.ClassJobChanged.GetInvocationList().Cast()) + foreach (var action in callback.GetInvocationList().Cast()) { try { @@ -204,12 +204,12 @@ internal sealed class ClientState : IInternalDisposableService, IClientState break; } - case UIModulePacketType.LevelChange: + case UIModulePacketType.LevelChange when this.LevelChanged is { } callback: { var classJobId = *(uint*)packet; var level = *(ushort*)((nint)packet + 4); - foreach (var action in this.LevelChanged.GetInvocationList().Cast()) + foreach (var action in callback.GetInvocationList().Cast()) { try {