diff options
author | Brendan Coles <bcoles@gmail.com> | 2021-01-31 07:24:41 +0000 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2021-01-31 09:08:51 +0100 |
commit | 50092ea0ca37f0818d07c25651f2b5ad0f0acc2a (patch) | |
tree | 55accabfa64a283bc8017c622b661fa246ed3035 /Userland | |
parent | df2a4adcd2e34a7998c181f088aa121fa5bbc4ff (diff) | |
download | serenity-50092ea0ca37f0818d07c25651f2b5ad0f0acc2a.zip |
Inspector: Exit if inspected process has not pledged accept
Diffstat (limited to 'Userland')
-rw-r--r-- | Userland/DevTools/Inspector/main.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/Userland/DevTools/Inspector/main.cpp b/Userland/DevTools/Inspector/main.cpp index 0a4fec645f..b3234f536a 100644 --- a/Userland/DevTools/Inspector/main.cpp +++ b/Userland/DevTools/Inspector/main.cpp @@ -28,10 +28,12 @@ #include "RemoteObjectGraphModel.h" #include "RemoteObjectPropertyModel.h" #include "RemoteProcess.h" +#include <LibCore/ProcessStatisticsReader.h> #include <LibGUI/Application.h> #include <LibGUI/BoxLayout.h> #include <LibGUI/Menu.h> #include <LibGUI/MenuBar.h> +#include <LibGUI/MessageBox.h> #include <LibGUI/ModelEditingDelegate.h> #include <LibGUI/ProcessChooser.h> #include <LibGUI/Splitter.h> @@ -98,6 +100,20 @@ int main(int argc, char** argv) } auto window = GUI::Window::construct(); + + auto all_processes = Core::ProcessStatisticsReader::get_all(); + for (auto& it : all_processes.value()) { + if (it.value.pid != pid) + continue; + if (it.value.pledge.is_empty()) + break; + if (!it.value.pledge.contains("accept")) { + GUI::MessageBox::show(window, String::formatted("{} ({}) has not pledged accept!", it.value.name, pid), "Error", GUI::MessageBox::Type::Error); + return 1; + } + break; + } + window->set_title("Inspector"); window->resize(685, 500); window->set_icon(app_icon.bitmap_for_size(16)); |