From 6c606806a18f10fb6f41304a81fbefb59cae329d Mon Sep 17 00:00:00 2001 From: zty199 <46324746+zty199@users.noreply.github.com> Date: Fri, 29 Mar 2024 22:13:35 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E8=BD=AF=E4=BB=B6?= =?UTF-8?q?=E5=8C=85=E5=AE=89=E8=A3=85=E7=8A=B6=E6=80=81=E5=88=A4=E6=96=AD?= =?UTF-8?q?=E5=BC=82=E5=B8=B8=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit check-is-installed 脚本判断软件包是否安装,仅根据执行结果返回;原始逻辑根据返回错误输出进行判断,错误输出为空会造成误判 Log: 修改 QProcess 执行结果判断逻辑,根据 QProcess::exitCode 和 QProcess::exitStatus 判断 --- src/pages/appintopage.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/pages/appintopage.cpp b/src/pages/appintopage.cpp index 1173913..1452d8f 100644 --- a/src/pages/appintopage.cpp +++ b/src/pages/appintopage.cpp @@ -133,11 +133,15 @@ void AppIntoPage::openUrl(const QUrl &url) bool isInstalled; bool isUpdated; QString packagename = info["Pkgname"].toString(); - isInstall.start("/opt/durapps/spark-store/bin/store-helper/check-is-installed", QStringList() << info["Pkgname"].toString()); + isInstall.start("/opt/durapps/spark-store/bin/store-helper/check-is-installed", QStringList() << info["Pkgname"].toString()); qDebug() << info["Pkgname"].toString(); isInstall.waitForFinished(180 * 1000); // 默认超时 3 分钟 - int error = QString::fromStdString(isInstall.readAllStandardError().toStdString()).length(); - if (error == 0) + + int exitCode = isInstall.exitCode(); + QProcess::ExitStatus exitStatus = isInstall.exitStatus(); + isInstall.close(); + + if (exitCode == 0 && exitStatus == QProcess::NormalExit) { isInstalled = true; @@ -158,6 +162,7 @@ void AppIntoPage::openUrl(const QUrl &url) { isUpdated = false; } + isUpdate.close(); } else {