1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 06:48:12 +00:00

Ladybird: Close inspector and JS console when tab closes

Keeping these around can lead to use-after-frees and crashes.
This commit is contained in:
MacDue 2022-12-19 13:25:49 +00:00 committed by Andrew Kaster
parent 33249c727a
commit 678dfa8f75
2 changed files with 9 additions and 5 deletions

View file

@ -77,7 +77,7 @@ WebContentView::WebContentView(StringView webdriver_content_ipc_path)
WebContentView::~WebContentView()
{
clear_inspector_callbacks();
close_sub_widgets();
}
void WebContentView::load(AK::URL const& url)
@ -515,10 +515,14 @@ void WebContentView::ensure_inspector_widget()
};
}
void WebContentView::clear_inspector_callbacks()
void WebContentView::close_sub_widgets()
{
if (m_inspector_widget)
m_inspector_widget->on_close = nullptr;
auto close_widget_window = [](auto* widget) {
if (widget)
widget->close();
};
close_widget_window(m_console_widget);
close_widget_window(m_inspector_widget);
}
bool WebContentView::is_inspector_open() const