From bba5c14933274d47c88140106de13b1ce9391b01 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Tue, 5 Dec 2023 13:32:07 +0000 Subject: [PATCH] Avoid exceptions when layouts contain OOB matrix values (#22609) --- lib/python/qmk/cli/generate/keyboard_c.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/python/qmk/cli/generate/keyboard_c.py b/lib/python/qmk/cli/generate/keyboard_c.py index f8a2372cf3..f010341613 100755 --- a/lib/python/qmk/cli/generate/keyboard_c.py +++ b/lib/python/qmk/cli/generate/keyboard_c.py @@ -64,12 +64,15 @@ def _gen_matrix_mask(info_data): rows = info_data['matrix_size']['rows'] # Default mask to everything disabled - mask = [['0'] * cols for i in range(rows)] + mask = [['0'] * cols for _ in range(rows)] # Mirror layout macros squashed on top of each other - for layout_data in info_data['layouts'].values(): + for layout_name, layout_data in info_data['layouts'].items(): for key_data in layout_data['layout']: row, col = key_data['matrix'] + if row >= rows or col >= cols: + cli.log.error(f'Skipping matrix_mask due to {layout_name} containing invalid matrix values') + return [] mask[row][col] = '1' lines = []