From c216d71b6ce81e3ad60dc64ab3cf44e47bed3bb7 Mon Sep 17 00:00:00 2001 From: thankyouverycool <66646555+thankyouverycool@users.noreply.github.com> Date: Sun, 29 Jan 2023 08:58:22 -0500 Subject: [PATCH] Welcome: Use fallible try_create() --- Userland/Applications/Welcome/WelcomeWidget.cpp | 14 ++++++++++++-- Userland/Applications/Welcome/WelcomeWidget.h | 4 +++- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/Userland/Applications/Welcome/WelcomeWidget.cpp b/Userland/Applications/Welcome/WelcomeWidget.cpp index d1e2911cbb..8604012727 100644 --- a/Userland/Applications/Welcome/WelcomeWidget.cpp +++ b/Userland/Applications/Welcome/WelcomeWidget.cpp @@ -20,9 +20,17 @@ #include #include -WelcomeWidget::WelcomeWidget() +ErrorOr> WelcomeWidget::try_create() { - load_from_gml(welcome_window_gml).release_value_but_fixme_should_propagate_errors(); + auto welcome_widget = TRY(adopt_nonnull_ref_or_enomem(new (nothrow) WelcomeWidget())); + TRY(welcome_widget->create_widgets()); + + return welcome_widget; +} + +ErrorOr WelcomeWidget::create_widgets() +{ + TRY(load_from_gml(welcome_window_gml)); m_web_view = find_descendant_of_type_named("web_view"); m_web_view->load(URL::create_with_file_scheme(DeprecatedString::formatted("{}/README.md", Core::StandardPaths::home_directory()))); @@ -75,6 +83,8 @@ WelcomeWidget::WelcomeWidget() } set_random_tip(); + + return {}; } ErrorOr WelcomeWidget::open_and_parse_tips_file() diff --git a/Userland/Applications/Welcome/WelcomeWidget.h b/Userland/Applications/Welcome/WelcomeWidget.h index 0452ded18c..945682ba4e 100644 --- a/Userland/Applications/Welcome/WelcomeWidget.h +++ b/Userland/Applications/Welcome/WelcomeWidget.h @@ -13,10 +13,12 @@ class WelcomeWidget final : public GUI::Widget { C_OBJECT(WelcomeWidget); public: + static ErrorOr> try_create(); virtual ~WelcomeWidget() override = default; private: - WelcomeWidget(); + WelcomeWidget() = default; + ErrorOr create_widgets(); virtual void paint_event(GUI::PaintEvent&) override;