mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-09-21 10:19:03 +03:00
bc319d9e88
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. |
||
---|---|---|
.. | ||
About | ||
Calculator | ||
ChanViewer | ||
DisplayProperties | ||
Downloader | ||
FileManager | ||
FontEditor | ||
IRCClient | ||
Launcher | ||
PaintBrush | ||
Piano | ||
QuickShow | ||
SoundPlayer | ||
SystemDialog | ||
SystemMonitor | ||
Taskbar | ||
Terminal | ||
TextEditor | ||
Welcome | ||
Makefile.common |