diff --git a/src/downloadlist.cpp b/src/downloadlist.cpp index 799a9ce..8e6c7dc 100644 --- a/src/downloadlist.cpp +++ b/src/downloadlist.cpp @@ -151,7 +151,7 @@ void downloadlist::install(int t) bool haveError = false; bool notRoot = false; - installer.waitForFinished(); + installer.waitForFinished(-1); // 不设置超时 out = installer.readAllStandardOutput(); QStringList everyOut = out.split("\n"); @@ -169,7 +169,7 @@ void downloadlist::install(int t) QProcess isInstall; isInstall.start("dpkg -s " + pkgName); - isInstall.waitForFinished(); + isInstall.waitForFinished(180); // 默认超时 3 分钟 int error = QString::fromStdString(isInstall.readAllStandardError().toStdString()).length(); if(error == 0) { diff --git a/src/widget.cpp b/src/widget.cpp index c54c3db..910615d 100644 --- a/src/widget.cpp +++ b/src/widget.cpp @@ -1128,11 +1128,11 @@ void Widget::on_pushButton_uninstall_clicked() QProcess uninstall; uninstall.start("pkexec", QStringList() << "apt" << "purge" << "-y" << pkgName.toLower()); - uninstall.waitForFinished(); + uninstall.waitForFinished(180); // 默认超时 3 分钟 QProcess check; check.start("dpkg", QStringList() << "-s" << pkgName.toLower()); - check.waitForFinished(); + check.waitForFinished(180); // 默认超时 3 分钟 if (check.readAllStandardOutput().isEmpty()) { diff --git a/src/workerthreads.cpp b/src/workerthreads.cpp index 86ac7cb..99d40c7 100644 --- a/src/workerthreads.cpp +++ b/src/workerthreads.cpp @@ -92,7 +92,7 @@ void SpkAppInfoLoaderThread::run() QProcess isInstall; packagename = json["Pkgname"].toString(); isInstall.start("dpkg -s " + json["Pkgname"].toString()); - isInstall.waitForFinished(); + isInstall.waitForFinished(180); // 默认超时 3 分钟 int error = QString::fromStdString(isInstall.readAllStandardError().toStdString()).length(); if(error == 0) { @@ -100,12 +100,12 @@ void SpkAppInfoLoaderThread::run() QProcess isUpdate; isUpdate.start("dpkg-query --showformat='${Version}' --show " + json["Pkgname"].toString()); - isUpdate.waitForFinished(); + isUpdate.waitForFinished(180); // 默认超时 3 分钟 QString localVersion = isUpdate.readAllStandardOutput(); localVersion.replace("'", ""); isUpdate.start("dpkg --compare-versions " + localVersion + " ge " + json["Version"].toString()); - isUpdate.waitForFinished(); + isUpdate.waitForFinished(180); // 默认超时 3 分钟 if(!isUpdate.exitCode()) { isUpdated = true;