From 606e13a47ea3f4099e09c0a71294555163790c4a Mon Sep 17 00:00:00 2001 From: Daniel Shields Date: Thu, 11 May 2017 09:46:11 +0100 Subject: [PATCH] Prevent the recording of looping dynamic macros. If a macro play key is inadvertently recorded in a dynamic macro a loop is created and the macro will not terminate when played. This should be prevented. --- quantum/dynamic_macro.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/quantum/dynamic_macro.h b/quantum/dynamic_macro.h index f242405defb..045ee95b5f1 100644 --- a/quantum/dynamic_macro.h +++ b/quantum/dynamic_macro.h @@ -274,6 +274,10 @@ bool process_record_dynamic_macro(uint16_t keycode, keyrecord_t *record) macro_id = 0; } return false; + case DYN_MACRO_PLAY1: + case DYN_MACRO_PLAY2: + dprintln("dynamic macro: ignoring macro play key while recording"); + return false; default: /* Store the key in the macro buffer and process it normally. */ switch (macro_id) {