From e4c7d4e059eb46fc98e63f2c7c9291e6354a6463 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Mon, 22 Dec 2025 13:22:38 -0800 Subject: [PATCH] input: handle unbind cleanup for leaf chains --- src/input/Binding.zig | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/src/input/Binding.zig b/src/input/Binding.zig index 85c3c2942..b02d67019 100644 --- a/src/input/Binding.zig +++ b/src/input/Binding.zig @@ -2300,7 +2300,25 @@ pub const Set = struct { leaf.action, leaf.flags, ) catch {}, - .leaf_chained => @panic("TODO"), + + .leaf_chained => |leaf| chain: { + // Rebuild our chain + set.putFlags( + alloc, + t, + leaf.actions.items[0], + leaf.flags, + ) catch break :chain; + for (leaf.actions.items[1..]) |action| { + set.appendChain( + alloc, + action, + ) catch { + set.remove(alloc, t); + break :chain; + }; + } + }, }; return null;