diff --git a/src/MaaCore/Task/Infrast/InfrastProductionTask.cpp b/src/MaaCore/Task/Infrast/InfrastProductionTask.cpp index 191993adea..4cd8ed3d1f 100644 --- a/src/MaaCore/Task/Infrast/InfrastProductionTask.cpp +++ b/src/MaaCore/Task/Infrast/InfrastProductionTask.cpp @@ -511,11 +511,14 @@ bool asst::InfrastProductionTask::optimal_calc() name_analyzer.set_replace(Task.get("CharsNameOcrReplace")->replace_map, Task.get("CharsNameOcrReplace")->replace_full); Log.trace("Analyze name filter"); - if (!name_analyzer.analyze()) { - continue; + if (name_analyzer.analyze()) { + std::string name = name_analyzer.get_result().text; + hash_matched = + ranges::find(opt.name_filter, name) != opt.name_filter.cend(); + } + else { + hash_matched = false; } - std::string name = name_analyzer.get_result().text; - hash_matched = ranges::find(opt.name_filter, name) != opt.name_filter.cend(); } if (!hash_matched) { ++find_iter;