summaryrefslogtreecommitdiff
path: root/Demos/WidgetGallery
diff options
context:
space:
mode:
authorAndreas Kling <awesomekling@gmail.com>2019-09-22 00:17:53 +0200
committerAndreas Kling <awesomekling@gmail.com>2019-09-22 00:25:25 +0200
commitbc319d9e8873734bb8e8cea3d762d7fab2ded887 (patch)
treec8648b92fe32e6c48454a99356f7b3ca59b5e423 /Demos/WidgetGallery
parent0c72e0c09f085a371b0abdba172325e56b1e6a06 (diff)
downloadserenity-bc319d9e8873734bb8e8cea3d762d7fab2ded887.zip
LibCore: Make CObject reference-counted
Okay, I've spent a whole day on this now, and it finally kinda works! With this patch, CObject and all of its derived classes are reference counted instead of tree-owned. The previous, Qt-like model was nice and familiar, but ultimately also outdated and difficult to reason about. CObject-derived types should now be stored in RefPtr/NonnullRefPtr and each class can be constructed using the forwarding construct() helper: auto widget = GWidget::construct(parent_widget); Note that construct() simply forwards all arguments to an existing constructor. It is inserted into each class by the C_OBJECT macro, see CObject.h to understand how that works. CObject::delete_later() disappears in this patch, as there is no longer a single logical owner of a CObject.
Diffstat (limited to 'Demos/WidgetGallery')
-rwxr-xr-xDemos/WidgetGallery/main.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/Demos/WidgetGallery/main.cpp b/Demos/WidgetGallery/main.cpp
index 3e7c9af88f..4e2c1c4017 100755
--- a/Demos/WidgetGallery/main.cpp
+++ b/Demos/WidgetGallery/main.cpp
@@ -66,7 +66,7 @@ int main(int argc, char** argv)
auto spinbox2 = GSpinBox::construct(main_widget);
spinbox2->set_enabled(false);
- auto vertical_slider_container = GWidget::construct(main_widget);
+ auto vertical_slider_container = GWidget::construct(main_widget.ptr());
vertical_slider_container->set_size_policy(SizePolicy::Fill, SizePolicy::Fixed);
vertical_slider_container->set_preferred_size(0, 100);
vertical_slider_container->set_layout(make<GBoxLayout>(Orientation::Horizontal));