From c948303eaff27ecd6de798913cb12590e5fa6d87 Mon Sep 17 00:00:00 2001 From: Architector #4 <23612841+Architector4@users.noreply.github.com> Date: Fri, 31 Oct 2025 07:57:55 +0300 Subject: [PATCH] SetHoveredPieSlice - unset m_ActiveSubPieMenu if set When a different (or null) pie slice is selected, the current subpiemenu is obviously not relevant. Don't set it. This fixes a crash if the player goes into a subpiemenu, and, while holding pie menu button, switches actors (hence setting hovered pie slice to null, but leaving m_ActiveSubPieMenu set), then switches back, and tries to open pie menu again, causing a crash in `Update` on line 568. --- Source/Entities/PieMenu.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Source/Entities/PieMenu.cpp b/Source/Entities/PieMenu.cpp index 44c6472e35..c59adcc906 100644 --- a/Source/Entities/PieMenu.cpp +++ b/Source/Entities/PieMenu.cpp @@ -1212,6 +1212,11 @@ bool PieMenu::SetHoveredPieSlice(const PieSlice* pieSliceToSelect, bool moveCurs return false; } + if (m_ActiveSubPieMenu) { + m_ActiveSubPieMenu->SetEnabled(false, false); + m_ActiveSubPieMenu = nullptr; + } + m_HoveredPieSlice = pieSliceToSelect; m_SubPieMenuHoverOpenTimer.Reset(); m_BGBitmapNeedsRedrawing = true;