From 952421cf69e1c0b4a611f2e891912ab188a3fb31 Mon Sep 17 00:00:00 2001 From: Peechey <92683202+Peechey@users.noreply.github.com> Date: Thu, 16 Apr 2026 02:06:41 -0500 Subject: [PATCH 1/2] better update for the index of the Imbued GemSelectControl stop click through of the GemSelectControls behind the Imbued dropdown --- src/Classes/ControlHost.lua | 5 +++++ src/Classes/GemSelectControl.lua | 5 +++++ src/Classes/SkillsTab.lua | 9 --------- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/Classes/ControlHost.lua b/src/Classes/ControlHost.lua index 30f1573cbf..ee86fb69b8 100644 --- a/src/Classes/ControlHost.lua +++ b/src/Classes/ControlHost.lua @@ -33,11 +33,16 @@ function ControlHostClass:GetMouseOverControl() end function ControlHostClass:ProcessControlsInput(inputEvents, viewPort) + local processedImbuedControl for id, event in ipairs(inputEvents) do if event.type == "KeyDown" then if self.selControl then + processedImbuedControl = self.selControl.imbuedSelect self:SelectControl(self.selControl:OnKeyDown(event.key, event.doubleClick)) inputEvents[id] = nil + if processedImbuedControl then -- stop click through of any control behind imbuedSupport dropdown + return + end end if not self.selControl and event.key:match("BUTTON") then self:SelectControl() diff --git a/src/Classes/GemSelectControl.lua b/src/Classes/GemSelectControl.lua index 853db7607e..a39b7c3d7c 100644 --- a/src/Classes/GemSelectControl.lua +++ b/src/Classes/GemSelectControl.lua @@ -58,6 +58,11 @@ function GemSelectClass:CalcOutputWithThisGem(calcFunc, gemData, useFullDPS) local gemList = self.skillsTab.displayGroup.gemList local displayGemList = self.skillsTab.displayGroup.displayGemList local oldGem + + -- the imbuedSupport control actively switches to the latest index of the current displayGroup's gemList so we can use the canSupport filtering + if self.imbuedSelect then + self.index = #gemList + 1 + end if gemList[self.index] then oldGem = copyTable(gemList[self.index], true) else diff --git a/src/Classes/SkillsTab.lua b/src/Classes/SkillsTab.lua index 1a1dcbbd61..117f19ed1b 100644 --- a/src/Classes/SkillsTab.lua +++ b/src/Classes/SkillsTab.lua @@ -630,13 +630,6 @@ function SkillsTabClass:PasteSocketGroup(testInput) end end --- the imbued support control actively switches to the latest count of the current displayGroup's gemList so we can use the canSupport filtering -local function updateImbuedSupportIndex(control, gemListCount) - if gemListCount > 0 then - control.index = gemListCount + 1 - end -end - -- Create the controls for editing the gem at a given index function SkillsTabClass:CreateGemSlot(index) local slot = { } @@ -656,7 +649,6 @@ function SkillsTabClass:CreateGemSlot(index) self.gemSlots[index2].enableGlobal2.state = gemInstance.enableGlobal2 self.gemSlots[index2].count:SetText(gemInstance.count or 1) end - updateImbuedSupportIndex(self.controls.imbuedSupport, #self.displayGroup.gemList) self:AddUndoState() self.build.buildFlag = true end) @@ -1109,7 +1101,6 @@ function SkillsTabClass:ProcessSocketGroup(socketGroup) end end end - updateImbuedSupportIndex(self.controls.imbuedSupport, #socketGroup.gemList) end -- Set the skill to be displayed/edited From 11f116ad078bd2eb3be1aa302ae6f21e297e8d42 Mon Sep 17 00:00:00 2001 From: LocalIdentity Date: Fri, 17 Apr 2026 02:08:07 +1000 Subject: [PATCH 2/2] Allow typing again --- src/Classes/ControlHost.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Classes/ControlHost.lua b/src/Classes/ControlHost.lua index ee86fb69b8..13aec58ef9 100644 --- a/src/Classes/ControlHost.lua +++ b/src/Classes/ControlHost.lua @@ -37,7 +37,7 @@ function ControlHostClass:ProcessControlsInput(inputEvents, viewPort) for id, event in ipairs(inputEvents) do if event.type == "KeyDown" then if self.selControl then - processedImbuedControl = self.selControl.imbuedSelect + processedImbuedControl = self.selControl.imbuedSelect and self.selControl.dropped and event.key:match("BUTTON") self:SelectControl(self.selControl:OnKeyDown(event.key, event.doubleClick)) inputEvents[id] = nil if processedImbuedControl then -- stop click through of any control behind imbuedSupport dropdown