From 3cc82b275b00830b745a9a4ce369a937384800d7 Mon Sep 17 00:00:00 2001 From: vaisest <4550061+vaisest@users.noreply.github.com> Date: Sat, 15 Aug 2026 18:55:27 +0300 Subject: [PATCH] Fix double click adding displayitem twice --- src/Classes/ControlHost.lua | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Classes/ControlHost.lua b/src/Classes/ControlHost.lua index 4f795135b82..c8c092fdcbd 100644 --- a/src/Classes/ControlHost.lua +++ b/src/Classes/ControlHost.lua @@ -40,6 +40,7 @@ function ControlHostClass:ProcessControlsInput(inputEvents, viewPort) local processedImbuedControl for id, event in ipairs(inputEvents) do if event.type == "KeyDown" then + local prevSelControl = self.selControl if self.selControl then processedImbuedControl = self.selControl.imbuedSelect and self.selControl.dropped and event.key:match("BUTTON") self:SelectControl(self.selControl:OnKeyDown(event.key, event.doubleClick)) @@ -52,7 +53,8 @@ function ControlHostClass:ProcessControlsInput(inputEvents, viewPort) self:SelectControl() if isMouseInRegion(viewPort) then local mOverControl = self:GetMouseOverControl() - if mOverControl and mOverControl.OnKeyDown then + -- Skip the control that just handled this event and released focus, otherwise it would process the same click twice + if mOverControl and mOverControl ~= prevSelControl and mOverControl.OnKeyDown then self:SelectControl(mOverControl:OnKeyDown(event.key, event.doubleClick)) inputEvents[id] = nil end