From 6b79745aa46d7f240b5f671a9716b3231e707457 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Wed, 24 Nov 2021 13:11:09 +0100 Subject: [PATCH] LibGUI: Add GUI::Widget::try_set_layout(...) This is a fallible variant of set_layout(...) that returns ErrorOr. --- Userland/Libraries/LibGUI/Widget.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Userland/Libraries/LibGUI/Widget.h b/Userland/Libraries/LibGUI/Widget.h index ba27266ce4..d8074de3f5 100644 --- a/Userland/Libraries/LibGUI/Widget.h +++ b/Userland/Libraries/LibGUI/Widget.h @@ -61,6 +61,14 @@ public: const Layout* layout() const { return m_layout.ptr(); } void set_layout(NonnullRefPtr); + template + ErrorOr> try_set_layout(Args&&... args) + { + auto layout = TRY(T::try_create(forward(args)...)); + set_layout(*layout); + return layout; + } + template inline T& set_layout(Args&&... args) {