fix:修正主动中断检查后崩溃问题。

This commit is contained in:
2025-11-15 23:48:30 +08:00
parent d73ddf7341
commit d0a0d06c1b
8 changed files with 65 additions and 3 deletions

View File

@@ -154,15 +154,24 @@ void frelayGUI::HandleTask(const QVector<TransTask>& tasks)
checking.setTipsText("正在检查文件...");
connect(&cond, &CheckCondition::sigCheckOver, &checking, &LoadingDialog::cancelBtnClicked);
connect(&checking, &LoadingDialog::cancelWaiting, &cond, &CheckCondition::interrupCheck);
connect(clientCore_, &ClientCore::sigMsgAnswer, &cond, &CheckCondition::recvFrame);
cond.start();
checking.exec();
if (checking.isUserCancel()) {
cond.interrupCheck();
cond.wait();
return;
}
// 检查结果
auto reTasks = cond.GetTasks();
if (!CheckTaskResult(reTasks)) {
cond.wait();
return;
}
if (reTasks.empty()) {
return;
}
transform_->SetTasks(reTasks);