Skip to content

Commit b4eed25

Browse files
creator1creeper1bgianfo
authored andcommitted
Applets/ResourceGraph: Propagate errors in create_applet
We now return an error if we fail to parse the applet spec in the expected format. We can now also use try_set_main_widget instead of set_main_widget.
1 parent 0d328f3 commit b4eed25

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

Userland/Applets/ResourceGraph/main.cpp

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -211,13 +211,13 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
211211

212212
NonnullRefPtrVector<GUI::Window> applet_windows;
213213

214-
auto create_applet = [&](GraphType graph_type, StringView spec) {
214+
auto create_applet = [&](GraphType graph_type, StringView spec) -> ErrorOr<void> {
215215
auto parts = spec.split_view(',');
216216

217217
dbgln("Create applet: {} with spec '{}'", (int)graph_type, spec);
218218

219219
if (parts.size() != 2)
220-
return;
220+
return Error::from_string_literal("ResourceGraph: Applet spec is not composed of exactly 2 comma-separated parts"sv);
221221

222222
auto name = parts[0];
223223
auto graph_color = Gfx::Color::from_string(parts[1]);
@@ -227,15 +227,17 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
227227
window->set_window_type(GUI::WindowType::Applet);
228228
window->resize(GraphWidget::history_size + 2, 15);
229229

230-
window->set_main_widget<GraphWidget>(graph_type, graph_color, Optional<Gfx::Color> {});
230+
auto graph_widget = TRY(window->try_set_main_widget<GraphWidget>(graph_type, graph_color, Optional<Gfx::Color> {}));
231231
window->show();
232232
applet_windows.append(move(window));
233+
234+
return {};
233235
};
234236

235237
if (cpu)
236-
create_applet(GraphType::CPU, cpu);
238+
TRY(create_applet(GraphType::CPU, cpu));
237239
if (memory)
238-
create_applet(GraphType::Memory, memory);
240+
TRY(create_applet(GraphType::Memory, memory));
239241

240242
TRY(Core::System::unveil("/res", "r"));
241243
TRY(Core::System::unveil("/proc/stat", "r"));

0 commit comments

Comments
 (0)