From 3fc76d5f3a7ba03dc47eaf05afa4966ad533b934 Mon Sep 17 00:00:00 2001 From: ut001910 Date: Fri, 6 Sep 2024 13:58:33 +0800 Subject: [PATCH 1/2] =?UTF-8?q?fix:=20=E9=80=9A=E8=BF=87dconfig=E5=B1=8F?= =?UTF-8?q?=E8=94=BD=E8=BF=9B=E7=A8=8B=E6=9A=82=E5=81=9C=E4=B8=8E=E6=81=A2?= =?UTF-8?q?=E5=A4=8D=E8=BF=9B=E7=A8=8B=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 通过dconfig屏蔽进程暂停与恢复进程功能 Bug: https://pms.uniontech.com/bug-view-272331.html Log: 通过dconfig屏蔽进程暂停与恢复进程功能 (cherry picked from commit 2d70563cea32f2fb7700abfeefd8ef8f5de29609) --- assets/configs/org.deepin.system-monitor.json | 10 ++++++++++ deepin-system-monitor-main/gui/process_table_view.cpp | 8 ++++++++ 2 files changed, 18 insertions(+) diff --git a/assets/configs/org.deepin.system-monitor.json b/assets/configs/org.deepin.system-monitor.json index 8a6362b87..2ea7c4cc2 100644 --- a/assets/configs/org.deepin.system-monitor.json +++ b/assets/configs/org.deepin.system-monitor.json @@ -27,6 +27,16 @@ "description[zh_CN]": "启用DKapture eBPF监控进行进程数据收集", "permissions": "readwrite", "visibility": "public" + }, + "displayMenuPauseAndRecovery": { + "value": 0, + "serial": 0, + "flags": ["global"], + "name": "Display pause recovery process", + "name[zh_CN]": "显示暂停恢复进程", + "description": "显示暂停恢复进程", + "permissions": "readwrite", + "visibility": "public" } } } diff --git a/deepin-system-monitor-main/gui/process_table_view.cpp b/deepin-system-monitor-main/gui/process_table_view.cpp index 5c61faff2..0a4d850f9 100644 --- a/deepin-system-monitor-main/gui/process_table_view.cpp +++ b/deepin-system-monitor-main/gui/process_table_view.cpp @@ -649,6 +649,14 @@ void ProcessTableView::initConnections(bool settingsLoaded) // ALT + C resumeProcAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_C)); connect(resumeProcAction, &QAction::triggered, this, &ProcessTableView::resumeProcess); + DConfig *config = DConfig::create("org.deepin.system-monitor", "org.deepin.system-monitor"); + if(config) { + QVariant varMenu = config->value("displayMenuPauseAndRecovery"); + if(varMenu.isValid() && varMenu.toInt() == 0) { + pauseProcAction->setVisible(false); + resumeProcAction->setVisible(false); + } + } // change priority dialog auto *chgProcPrioMenu = m_contextMenu->addMenu( From 196346e3fce77fa566874ecfa581c93f6cb9e59a Mon Sep 17 00:00:00 2001 From: xust Date: Fri, 13 Dec 2024 11:50:07 +0800 Subject: [PATCH 2/2] chore: redirect crash log to cache path. as above. Log: as above. (cherry picked from commit 006c772bdfa73499e0df6a9928de498abae90b3a) --- deepin-system-monitor-main/stack_trace.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/deepin-system-monitor-main/stack_trace.h b/deepin-system-monitor-main/stack_trace.h index 6c11ee160..b40be240c 100644 --- a/deepin-system-monitor-main/stack_trace.h +++ b/deepin-system-monitor-main/stack_trace.h @@ -17,6 +17,8 @@ #include #include +#include + namespace util { #define MAX_BACKTRACE_FRAMES 128 @@ -52,7 +54,9 @@ static inline void printStacktrace(int signum) logstr[len] = 0; // open log output stream - std::string logN {"/tmp/"}; + auto cachePath = QStandardPaths::writableLocation(QStandardPaths::CacheLocation); + if (!cachePath.endsWith("/")) cachePath.append("/"); + std::string logN {cachePath.toStdString()}; logN.append(logstr); std::ofstream log(logN, std::ios::out);