Merge commit 'e5217b3829f4732887140066e6c3d33a120dc9da' into Thunder

This commit is contained in:
2025-08-29 23:05:33 +08:00

View File

@@ -14,10 +14,11 @@ AppDelegate::AppDelegate(QObject *parent)
[this](const QString &packageName, bool success) {
if (m_downloads.contains(packageName)) {
m_downloads[packageName].isDownloading = false;
// 不要提前设置 isInstalled
emit updateDisplay(packageName);
qDebug() << (success ? "下载完成:" : "下载失败:") << packageName;
if (success) {
enqueueInstall(packageName);
enqueueInstall(packageName); // 安装完成后再设置 isInstalled
}
}
});
@@ -276,11 +277,11 @@ void AppDelegate::startNextInstall() {
qDebug().noquote() << QString::fromLocal8Bit(err);
});
connect(m_installProcess, QOverload<int, QProcess::ExitStatus>::of(&QProcess::finished),
this, [this, packageName, logFile](int /*exitCode*/, QProcess::ExitStatus /*status*/) {
this, [this, packageName, logFile](int exitCode, QProcess::ExitStatus status) {
if (logFile) logFile->close();
// 若未检测到“软件包已安装”,此处兜底
if (!m_downloads[packageName].isInstalled) {
m_downloads[packageName].isInstalling = false;
m_downloads[packageName].isInstalling = false;
if (exitCode == 0) {
m_downloads[packageName].isInstalled = true; // 安装成功
}
emit updateDisplay(packageName);
m_installProcess->deleteLater();