From 58b95bc0c527c94ea5e7d61a46339953d26a9b77 Mon Sep 17 00:00:00 2001 From: Erik Date: Wed, 13 May 2026 18:15:26 +0200 Subject: [PATCH] fix(B.4b): let DoubleClick activation pass the OnInputAction gate GameWindow.OnInputAction had an early-return gate dropping every non-Press activation. With the new InputDispatcher firing SelectDblLeft as ActivationType.DoubleClick, the case in the switch was unreachable -- visual test confirmed [input] SelectDblLeft DoubleClick fired but [B.4b] pick never followed. Fix: also let DoubleClick through the gate. The existing case label matches on action (not activation), so SelectDblLeft fires PickAndStoreSelection(useImmediately: true) as designed. Co-Authored-By: Claude Opus 4.7 (1M context) --- src/AcDream.App/Rendering/GameWindow.cs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/AcDream.App/Rendering/GameWindow.cs b/src/AcDream.App/Rendering/GameWindow.cs index 6124b01..292c6b5 100644 --- a/src/AcDream.App/Rendering/GameWindow.cs +++ b/src/AcDream.App/Rendering/GameWindow.cs @@ -8518,8 +8518,10 @@ public sealed class GameWindow : IDisposable // Every other action fires on Press only (no Release / Hold side- // effects in the K.1b set). Filter out non-Press activations early // so subscribers that have Release-mode bindings don't accidentally - // re-fire. - if (activation != AcDream.UI.Abstractions.Input.ActivationType.Press) return; + // re-fire. B.4b exception: DoubleClick must pass through so + // SelectDblLeft / SelectDblRight / SelectDblMid can reach the switch. + if (activation != AcDream.UI.Abstractions.Input.ActivationType.Press + && activation != AcDream.UI.Abstractions.Input.ActivationType.DoubleClick) return; // K-fix1 (2026-04-26): Q is autorun TOGGLE, not hold-to-run. Press // Q to start, press Q again to stop. Pressing Backup / Stop /