1.0.8.5: Fix other HSUI elements disappearing on hotbar hover (child window overlay)

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-02-07 23:36:46 -05:00
parent 9391ef1451
commit cb3d6b5e0b
4 changed files with 12 additions and 11 deletions
+5 -7
View File
@@ -253,7 +253,7 @@ namespace HSUI.Interface.GeneralElements
});
// Overlay at HIGHEST so it captures input above the bar; required for icon swap.
// Use unique ID per hotbar to avoid any cross-bar conflicts (bar 210 had input capture issues).
// Draw as a child of HSUI_HUD so hovering does not create a separate toplevel window that hides other HSUI elements.
AddDrawAction(StrataLevel.HIGHEST, () =>
{
var slots = ActionBarsManager.Instance.GetSlotData(Config.HotbarIndex, Config.SlotCount);
@@ -262,13 +262,11 @@ namespace HSUI.Interface.GeneralElements
| ImGuiWindowFlags.NoFocusOnAppearing | ImGuiWindowFlags.NoBringToFrontOnFocus
| ImGuiWindowFlags.NoNav;
ImGuiHelpers.ForceNextWindowMainViewport();
ImGui.SetNextWindowPos(topLeft);
ImGui.SetNextWindowSize(barSize);
string overlayId = $"HSUI_Hotbar{Config.HotbarIndex}_input";
if (!ImGui.Begin(overlayId, flags))
ImGui.SetCursorScreenPos(topLeft);
if (!ImGui.BeginChild(overlayId, barSize, false, flags))
{
ImGui.End();
ImGui.EndChild();
return;
}
@@ -394,7 +392,7 @@ namespace HSUI.Interface.GeneralElements
_lastLoggedPickupSlotId = -1;
}
ImGui.End();
ImGui.EndChild();
});
}