mirror of
https://github.com/fergalmoran/ladybird.git
synced 2026-01-04 15:45:25 +00:00
LibWeb: Make Frame point weakly to Page
This patch makes Page weakable and allows page-less frames to exist. Page is single-owner, and Frame is multiple-owner, so it's not sound for Frame to assume its containing Page will stick around for its own entire lifetime. Fixes #3976.
This commit is contained in:
@@ -60,7 +60,7 @@ void LayoutWidget::did_set_rect()
|
||||
void LayoutWidget::update_widget()
|
||||
{
|
||||
auto adjusted_widget_position = absolute_rect().location().to_type<int>();
|
||||
auto& page_view = static_cast<const InProcessWebView&>(frame().page().client());
|
||||
auto& page_view = static_cast<const InProcessWebView&>(frame().page()->client());
|
||||
adjusted_widget_position.move_by(-page_view.horizontal_scrollbar().value(), -page_view.vertical_scrollbar().value());
|
||||
widget().move_to(adjusted_widget_position);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user