From a5f140df179677dde413f714bc3efdb1a57267a8 Mon Sep 17 00:00:00 2001 From: Shuai Yuan Date: Mon, 7 Jul 2025 16:02:40 +0800 Subject: [PATCH] Fixed enable/disable module issue for conflict Signed-off-by: Shuai Yuan --- src/runner/hotkey_conflict_detector.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/runner/hotkey_conflict_detector.cpp b/src/runner/hotkey_conflict_detector.cpp index 6b938411ca..a5fe03257e 100644 --- a/src/runner/hotkey_conflict_detector.cpp +++ b/src/runner/hotkey_conflict_detector.cpp @@ -271,6 +271,8 @@ namespace HotkeyConflictDetector for (auto it = inAppConflictHotkeyMap.begin(); it != inAppConflictHotkeyMap.end();) { auto& conflictSet = it->second; + uint16_t handle = it->first; + for (auto setIt = conflictSet.begin(); setIt != conflictSet.end();) { if (setIt->moduleName == moduleName) @@ -284,10 +286,18 @@ namespace HotkeyConflictDetector ++setIt; } } + if (conflictSet.empty()) { it = inAppConflictHotkeyMap.erase(it); } + else if (conflictSet.size() == 1) + { + // Move the only remaining conflict to main map + const auto& onlyConflict = *conflictSet.begin(); + hotkeyMap[handle] = onlyConflict; + it = inAppConflictHotkeyMap.erase(it); + } else { ++it;