From b06d01f04057674d1ae05a1940b30affcb82e844 Mon Sep 17 00:00:00 2001 From: Marcus Nilsson Date: Fri, 28 May 2021 17:01:36 +0200 Subject: [PATCH] SystemMonitor: Disable menu items for inaccessible process Disable the context menu items if user cannot access the process. Fixes #7486 --- Userland/Applications/SystemMonitor/main.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/Userland/Applications/SystemMonitor/main.cpp b/Userland/Applications/SystemMonitor/main.cpp index 3e8d7ebc6d..41155e5055 100644 --- a/Userland/Applications/SystemMonitor/main.cpp +++ b/Userland/Applications/SystemMonitor/main.cpp @@ -352,7 +352,18 @@ int main(int argc, char** argv) window->set_menubar(move(menubar)); process_table_view.on_activation = [&](auto&) { - process_properties_action->activate(); + if (process_properties_action->is_enabled()) + process_properties_action->activate(); + }; + + process_table_view.on_selection_change = [&] { + pid_t pid = selected_id(ProcessModel::Column::PID); + bool has_access = can_access_pid(pid); + kill_action->set_enabled(has_access); + stop_action->set_enabled(has_access); + continue_action->set_enabled(has_access); + profile_action->set_enabled(has_access); + process_properties_action->set_enabled(has_access); }; app->on_action_enter = [](GUI::Action const& action) {