From 3feec2309b8471a03625da5cd3136bae93473d27 Mon Sep 17 00:00:00 2001 From: Peter LaFosse Date: Tue, 7 Jul 2026 11:02:21 -0400 Subject: [PATCH] Guard sidebar widget container index --- ui/sidebarcontainer.h | 7 +++++-- ui/sidebarwidget.h | 1 + 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/ui/sidebarcontainer.h b/ui/sidebarcontainer.h index 99b42b890d..b60b37a3ea 100644 --- a/ui/sidebarcontainer.h +++ b/ui/sidebarcontainer.h @@ -1,5 +1,6 @@ #pragma once +#include #include #include #include @@ -85,7 +86,7 @@ class BINARYNINJAUIAPI SidebarWidgetContainer : public QWidget std::set m_active, m_docked; std::map m_stackedWidgets; std::map>>> + std::map>>>> m_widgets; std::map>>> @@ -97,9 +98,11 @@ class BINARYNINJAUIAPI SidebarWidgetContainer : public QWidget SidebarWidgetType* m_focusedType = nullptr; SidebarStackedWidget& stackedWidgetForType(SidebarWidgetType* type); - std::vector widgetsForContext() const; + std::vector> widgetsForContext() const; std::vector contentClassifiersForContext() const; void insertWidgetIntoContainer(SidebarWidgetType* type, QStackedWidget* widget); + void trackWidget(SidebarWidgetAndHeader* widget); + void pruneDeadWidgets(); void updateContentsVisibility(); private Q_SLOTS: diff --git a/ui/sidebarwidget.h b/ui/sidebarwidget.h index bd31293e7c..2d806b82f1 100644 --- a/ui/sidebarwidget.h +++ b/ui/sidebarwidget.h @@ -98,6 +98,7 @@ class BINARYNINJAUIAPI SidebarWidgetAndHeader : public QWidget std::map m_headerWidgets; std::set m_activeWidgets; QLabel* m_noWidgetLabel = nullptr; + void finishRemovingWidget(SidebarWidget* widget, bool deactivateOnEmpty); private Q_SLOTS: void tabChanged(QWidget* widget);