summaryrefslogtreecommitdiff
path: root/Userland/Applications/SystemMonitor
diff options
context:
space:
mode:
authorLuke Wilde <lukew@serenityos.org>2022-05-05 20:17:43 +0100
committerLinus Groh <mail@linusgroh.de>2022-05-05 21:25:04 +0200
commitcaf652799f04d6008eae4ab793f393748f8ccd18 (patch)
tree6e12dcdd57bb31fb643653f1ed4cd8daa767f543 /Userland/Applications/SystemMonitor
parentb96b2fb9bec6e83d7745e7ec5f4c061066f23b93 (diff)
downloadserenity-caf652799f04d6008eae4ab793f393748f8ccd18.zip
SystemMonitor: Consistently use u64 for ValueFormat::text_formatter
ValueFormat::text_formatter is called with a u64 retrieved from GraphWidget::m_values. However, the function pointer definition used size_t and all the users of text_formatter used int. If bytes was over ~2 billion, we would interpret bytes to be negative. We then pass this into `human_readable_size` which converts it to a u64, making it out to be about 15.9 EiB. This is fixed by making everything in the path take a u64.
Diffstat (limited to 'Userland/Applications/SystemMonitor')
-rw-r--r--Userland/Applications/SystemMonitor/GraphWidget.h2
-rw-r--r--Userland/Applications/SystemMonitor/main.cpp10
2 files changed, 6 insertions, 6 deletions
diff --git a/Userland/Applications/SystemMonitor/GraphWidget.h b/Userland/Applications/SystemMonitor/GraphWidget.h
index 26f078fdd2..0b8df57f9c 100644
--- a/Userland/Applications/SystemMonitor/GraphWidget.h
+++ b/Userland/Applications/SystemMonitor/GraphWidget.h
@@ -26,7 +26,7 @@ public:
struct ValueFormat {
Gfx::ColorRole graph_color_role { Gfx::ColorRole::Base };
Color text_shadow_color { Color::Transparent };
- Function<String(size_t)> text_formatter;
+ Function<String(u64)> text_formatter;
};
void set_value_format(size_t index, ValueFormat&& format)
{
diff --git a/Userland/Applications/SystemMonitor/main.cpp b/Userland/Applications/SystemMonitor/main.cpp
index 83385035df..c7d64d6f07 100644
--- a/Userland/Applications/SystemMonitor/main.cpp
+++ b/Userland/Applications/SystemMonitor/main.cpp
@@ -661,13 +661,13 @@ void build_performance_tab(GUI::Widget& graphs_container)
cpu_graph.set_max(100);
cpu_graph.set_value_format(0, {
.graph_color_role = ColorRole::SyntaxPreprocessorStatement,
- .text_formatter = [](int value) {
+ .text_formatter = [](u64 value) {
return String::formatted("Total: {}%", value);
},
});
cpu_graph.set_value_format(1, {
.graph_color_role = ColorRole::SyntaxPreprocessorValue,
- .text_formatter = [](int value) {
+ .text_formatter = [](u64 value) {
return String::formatted("Kernel: {}%", value);
},
});
@@ -687,19 +687,19 @@ void build_performance_tab(GUI::Widget& graphs_container)
auto& memory_graph = *graphs_container.find_descendant_of_type_named<SystemMonitor::GraphWidget>("memory_graph");
memory_graph.set_value_format(0, {
.graph_color_role = ColorRole::SyntaxComment,
- .text_formatter = [](int bytes) {
+ .text_formatter = [](u64 bytes) {
return String::formatted("Committed: {}", human_readable_size(bytes));
},
});
memory_graph.set_value_format(1, {
.graph_color_role = ColorRole::SyntaxPreprocessorStatement,
- .text_formatter = [](int bytes) {
+ .text_formatter = [](u64 bytes) {
return String::formatted("Allocated: {}", human_readable_size(bytes));
},
});
memory_graph.set_value_format(2, {
.graph_color_role = ColorRole::SyntaxPreprocessorValue,
- .text_formatter = [](int bytes) {
+ .text_formatter = [](u64 bytes) {
return String::formatted("Kernel heap: {}", human_readable_size(bytes));
},
});