From 2b163c397c89e76174f192d4fb114e7bff4af71e Mon Sep 17 00:00:00 2001 From: mauro-balades Date: Wed, 9 Oct 2024 17:07:00 +0200 Subject: [PATCH] Refactor ZenKeyboardShortcuts to optimize clearing of main keyset --- src/ZenKeyboardShortcuts.mjs | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/ZenKeyboardShortcuts.mjs b/src/ZenKeyboardShortcuts.mjs index 682ec3a..e8444dc 100644 --- a/src/ZenKeyboardShortcuts.mjs +++ b/src/ZenKeyboardShortcuts.mjs @@ -848,7 +848,9 @@ var gZenKeyboardShortcutsManager = { }, clearMainKeyset(element) { - for (let key of element.children) { + const children = element.children; + for (let i = children.length - 1; i >= 0; i--) { + const key = children[i]; if (key.getAttribute('internal') == 'true') { continue; } @@ -957,7 +959,9 @@ var gZenKeyboardShortcutsManager = { }; document.addEventListener("MozBeforeInitialXULLayout", () => { - gZenKeyboardShortcutsManager.beforeInit(); - // Async init - gZenKeyboardShortcutsManager.init(); + if (Services.prefs.getBoolPref('zen.keyboard.shortcuts.enabled', false)) { + gZenKeyboardShortcutsManager.beforeInit(); + // Async init + gZenKeyboardShortcutsManager.init(); + } }, { once: true }); \ No newline at end of file