From c55d8a9971488833dea5483d70d352f42ab01ba9 Mon Sep 17 00:00:00 2001 From: Timothy Flynn Date: Mon, 4 Dec 2023 11:03:40 -0500 Subject: [PATCH] Ladybird/Qt: Make the Inspector widget owned by its parent tab This ensures the Inspector is closed when the BrowserWindow which owns the tab is closed. --- Ladybird/Qt/InspectorWidget.cpp | 3 ++- Ladybird/Qt/InspectorWidget.h | 2 +- Ladybird/Qt/Tab.cpp | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Ladybird/Qt/InspectorWidget.cpp b/Ladybird/Qt/InspectorWidget.cpp index f29342db13..ed59b69bff 100644 --- a/Ladybird/Qt/InspectorWidget.cpp +++ b/Ladybird/Qt/InspectorWidget.cpp @@ -13,7 +13,8 @@ namespace Ladybird { extern bool is_using_dark_system_theme(QWidget&); -InspectorWidget::InspectorWidget(WebContentView& content_view) +InspectorWidget::InspectorWidget(QWidget* tab, WebContentView& content_view) + : QWidget(tab, Qt::Window) { m_inspector_view = new WebContentView({}, {}); diff --git a/Ladybird/Qt/InspectorWidget.h b/Ladybird/Qt/InspectorWidget.h index 29b6a547c9..4e8c551e99 100644 --- a/Ladybird/Qt/InspectorWidget.h +++ b/Ladybird/Qt/InspectorWidget.h @@ -18,7 +18,7 @@ class InspectorWidget final : public QWidget { Q_OBJECT public: - explicit InspectorWidget(WebContentView& content_view); + InspectorWidget(QWidget* tab, WebContentView& content_view); virtual ~InspectorWidget() override; void inspect(); diff --git a/Ladybird/Qt/Tab.cpp b/Ladybird/Qt/Tab.cpp index d6755e108a..a0158bc63f 100644 --- a/Ladybird/Qt/Tab.cpp +++ b/Ladybird/Qt/Tab.cpp @@ -690,7 +690,7 @@ void Tab::recreate_toolbar_icons() void Tab::show_inspector_window(InspectorTarget inspector_target) { if (!m_inspector_widget) - m_inspector_widget = new Ladybird::InspectorWidget(view()); + m_inspector_widget = new InspectorWidget(this, view()); m_inspector_widget->show(); m_inspector_widget->activateWindow();