From f653177cf84d6a4f8e0be2781e88c7a11c6d315d Mon Sep 17 00:00:00 2001 From: wangrong Date: Tue, 17 Mar 2026 10:30:01 +0800 Subject: [PATCH] fix: Avoid hardcode binary path Avoid hardcoding executable file paths to improve portability. Bug: https://github.com/linuxdeepin/developer-center/issues/3374 --- application/main.cpp | 6 +++--- application/widgets/mainwindow.cpp | 6 +++--- service/main.cpp | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/application/main.cpp b/application/main.cpp index e4b6de5..6bc935e 100644 --- a/application/main.cpp +++ b/application/main.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2022 UnionTech Software Technology Co., Ltd. +// SPDX-FileCopyrightText: 2022 - 2026 UnionTech Software Technology Co., Ltd. // // SPDX-License-Identifier: GPL-3.0-only @@ -152,13 +152,13 @@ int main(int argc, char *argv[]) qDebug() << "deepin-diskmanager-service found, sending Quit signal."; QString args = QString("--system --type=method_call --dest=com.deepin.diskmanager /com/deepin/diskmanager com.deepin.diskmanager.Quit"); QStringList argList = args.split(" "); - proc.startDetached("/usr/bin/dbus-send", argList); + proc.startDetached("dbus-send", argList); } QStringList argList; argList << QString::number(QCoreApplication::applicationPid()) << QDBusConnection::systemBus().baseService(); qDebug() << "Starting deepin-diskmanager-authenticateProxy with args:" << argList; - proc.startDetached("/usr/bin/deepin-diskmanager-authenticateProxy", argList); + proc.startDetached("deepin-diskmanager-authenticateProxy", argList); //正常启动程序后,循环查询后台服务是否已经启动,如果后台服务启动说明鉴权成功,启动前端界面 while (1) { diff --git a/application/widgets/mainwindow.cpp b/application/widgets/mainwindow.cpp index 845fdd0..3a69531 100644 --- a/application/widgets/mainwindow.cpp +++ b/application/widgets/mainwindow.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2022 UnionTech Software Technology Co., Ltd. +// SPDX-FileCopyrightText: 2022 - 2026 UnionTech Software Technology Co., Ltd. // // SPDX-License-Identifier: GPL-3.0-only @@ -95,7 +95,7 @@ void MainWindow::closeEvent(QCloseEvent *event) QProcess proc; QString args = QString("--system --type=method_call --dest=com.deepin.diskmanager /com/deepin/diskmanager com.deepin.diskmanager.Quit"); QStringList argList = args.split(" "); - proc.startDetached("/usr/bin/dbus-send", argList); + proc.startDetached("dbus-send", argList); DMainWindow::closeEvent(event); qDebug() << "MainWindow::closeEvent completed."; @@ -176,7 +176,7 @@ void MainWindow::onHandleQuitAction() QProcess proc; QString args = QString("--system --type=method_call --dest=com.deepin.diskmanager /com/deepin/diskmanager com.deepin.diskmanager.Quit"); QStringList argList = args.split(" "); - proc.startDetached("/usr/bin/dbus-send", argList); + proc.startDetached("dbus-send", argList); } diff --git a/service/main.cpp b/service/main.cpp index 08ea903..7885a81 100644 --- a/service/main.cpp +++ b/service/main.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2022 UnionTech Software Technology Co., Ltd. +// SPDX-FileCopyrightText: 2022 - 2026 UnionTech Software Technology Co., Ltd. // // SPDX-License-Identifier: GPL-3.0-only @@ -20,7 +20,7 @@ void checkFrontEndQuit(uint frontEndPid) QString frontEndExe = QString("/proc/%1/exe").arg(frontEndPid); QFileInfo info(frontEndExe); - if (info.symLinkTarget() != "/usr/bin/deepin-diskmanager") { + if (QFileInfo(info.symLinkTarget()).fileName() != "deepin-diskmanager") { qWarning() << "Front-end process has quit"; QCoreApplication::exit(0); }