mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 10:48:11 +00:00
AK: Stop allowing implicit downcast with RefPtr and NonnullRefPtr
We were allowing this dangerous kind of thing: RefPtr<Base> base; RefPtr<Derived> derived = base; This patch changes the {Nonnull,}RefPtr constructors so this is no longer possible. To downcast one of these pointers, there is now static_ptr_cast<T>: RefPtr<Derived> derived = static_ptr_cast<Derived>(base); Fixing this exposed a ton of cowboy-downcasts in various places, which we're now forced to fix. :^)
This commit is contained in:
parent
058c614110
commit
1d468ed6d3
11 changed files with 68 additions and 54 deletions
|
@ -221,7 +221,7 @@ void Document::layout()
|
|||
|
||||
if (!m_layout_root) {
|
||||
LayoutTreeBuilder tree_builder;
|
||||
m_layout_root = tree_builder.build(*this);
|
||||
m_layout_root = static_ptr_cast<LayoutDocument>(tree_builder.build(*this));
|
||||
}
|
||||
m_layout_root->layout();
|
||||
m_layout_root->set_needs_display();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue