From e7377c6d6057a7bf7b6cf8cb3422ac368057d903 Mon Sep 17 00:00:00 2001 From: Lucas CHOLLET Date: Sat, 7 Jan 2023 11:06:32 -0500 Subject: [PATCH] Chess: Move `ChessWidget` to the create pattern --- Userland/Games/Chess/ChessWidget.cpp | 7 +++++-- Userland/Games/Chess/ChessWidget.h | 6 ++++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/Userland/Games/Chess/ChessWidget.cpp b/Userland/Games/Chess/ChessWidget.cpp index f44981ca14..6b8455e5f8 100644 --- a/Userland/Games/Chess/ChessWidget.cpp +++ b/Userland/Games/Chess/ChessWidget.cpp @@ -19,9 +19,12 @@ #include #include -ChessWidget::ChessWidget() +ErrorOr> ChessWidget::try_create() { - set_piece_set("stelar7"sv); + auto widget = TRY(AK::adopt_nonnull_ref_or_enomem(new (nothrow) ChessWidget)); + widget->set_piece_set("stelar7"sv); + + return widget; } void ChessWidget::paint_event(GUI::PaintEvent& event) diff --git a/Userland/Games/Chess/ChessWidget.h b/Userland/Games/Chess/ChessWidget.h index 9550e11995..e84fe27298 100644 --- a/Userland/Games/Chess/ChessWidget.h +++ b/Userland/Games/Chess/ChessWidget.h @@ -19,9 +19,11 @@ class ChessWidget final : public GUI::Frame , public Config::Listener { - C_OBJECT(ChessWidget); + C_OBJECT_ABSTRACT(ChessWidget); public: + static ErrorOr> try_create(); + virtual ~ChessWidget() override = default; virtual void paint_event(GUI::PaintEvent&) override; @@ -109,7 +111,7 @@ public: }; private: - ChessWidget(); + ChessWidget() = default; virtual void config_string_did_change(DeprecatedString const& domain, DeprecatedString const& group, DeprecatedString const& key, DeprecatedString const& value) override; virtual void config_bool_did_change(DeprecatedString const& domain, DeprecatedString const& group, DeprecatedString const& key, bool value) override;