diff --git a/src/correct/corrector.cpp b/src/correct/corrector.cpp index 327e932..7725803 100644 --- a/src/correct/corrector.cpp +++ b/src/correct/corrector.cpp @@ -13,6 +13,11 @@ void Corrector::correct(const TaskPtr &task) SOFT_ASSERT(task, return ); SOFT_ASSERT(task->isValid(), return ); + if (task->recognized.isEmpty()) { + manager_.corrected(task); + return; + } + if (!userSubstitutions_.empty()) task->corrected = substituteUser(task->recognized, task->sourceLanguage); diff --git a/src/translate/translator.cpp b/src/translate/translator.cpp index 873b1a0..9a31dd2 100644 --- a/src/translate/translator.cpp +++ b/src/translate/translator.cpp @@ -96,6 +96,12 @@ Translator::~Translator() = default; void Translator::translate(const TaskPtr &task) { SOFT_ASSERT(task, return ); + + if (task->corrected.isEmpty()) { + manager_.translated(task); + return; + } + queue_.push_back(task); processQueue(); }