diff --git a/Redcraft.FocusIME/Source/Private/Main.cpp b/Redcraft.FocusIME/Source/Private/Main.cpp index 8a595a0..6c6a335 100644 --- a/Redcraft.FocusIME/Source/Private/Main.cpp +++ b/Redcraft.FocusIME/Source/Private/Main.cpp @@ -145,18 +145,17 @@ void Tick() while (!View.empty() && std::isspace(View.front())) View.remove_prefix(1); + if (Mode != "English" && Mode != "Chinese" && Mode != "Default") return false; + + Result.emplace(Process, + Mode == "English" ? EIMEConversionMode::English : + Mode == "Chinese" ? EIMEConversionMode::Chinese : EIMEConversionMode::Default); + if (View.empty()) break; if (!View.starts_with(',')) return false; View.remove_prefix(1); - - if (Mode != "English" && Mode != "Chinese" && Mode != "Default") return false; - - Result[std::string(Process)] = - Mode == "English" ? EIMEConversionMode::English : - Mode == "Chinese" ? EIMEConversionMode::Chinese : EIMEConversionMode::Default; - } return true;