From aa8d3b8f78231bf730a1724ceec3cf22c8ab4abd Mon Sep 17 00:00:00 2001 From: Ottermandias Date: Sat, 9 Apr 2022 22:24:09 +0200 Subject: [PATCH] Add temporary null-check to context menu stuff to hopefully prevent random crashes. --- Dalamud/Game/Gui/ContextMenus/ContextMenuReaderWriter.cs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/Dalamud/Game/Gui/ContextMenus/ContextMenuReaderWriter.cs b/Dalamud/Game/Gui/ContextMenus/ContextMenuReaderWriter.cs index 16f24365d..82b8fb136 100644 --- a/Dalamud/Game/Gui/ContextMenus/ContextMenuReaderWriter.cs +++ b/Dalamud/Game/Gui/ContextMenus/ContextMenuReaderWriter.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Numerics; @@ -456,11 +456,16 @@ namespace Dalamud.Game.Gui.ContextMenus var redButtonActions = &((AgentContext*)this.agentContextInterface)->Items->RedButtonActions; *(redButtonActions + contextMenuItemIndex) = action; } - else + else if (((AgentContext*)this.agentContextInterface)->Items != null) { + // TODO: figure out why this branch is reached on inventory contexts and why Items is sometimes null. var actions = &((AgentContext*)this.agentContextInterface)->Items->Actions; *(actions + this.FirstContextMenuItemIndex + contextMenuItemIndex) = action; } + else + { + PluginLog.Warning("Context Menu action failed, Items pointer was unexpectedly null."); + } if (contextMenuItem.Indicator == ContextMenuItemIndicator.Previous) {