summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Potchik <brian@vector35.com>2023-08-10 18:24:24 -0400
committerBrian Potchik <brian@vector35.com>2023-08-10 18:24:24 -0400
commita693c795f73686eb8901eeb70e252b9ca796049d (patch)
treee29ccfa68034e404cd5cb5d89b894423105b3d01
parente280f8d5b348808a06d73e7a5db91e13b58d2c16 (diff)
Fix object lifetimes for view sensitive widgets in the UI.
-rw-r--r--ui/sidebar.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/ui/sidebar.h b/ui/sidebar.h
index ead1ca8d..56bf98ce 100644
--- a/ui/sidebar.h
+++ b/ui/sidebar.h
@@ -145,6 +145,7 @@ class BINARYNINJAUIAPI SidebarWidgetType
void updateTheme();
};
+class FileContext;
class ViewFrame;
/*!
@@ -177,7 +178,8 @@ class BINARYNINJAUIAPI SidebarWidgetContainer : public QWidget
SidebarWidgetType* m_lastContentActive = nullptr;
SidebarWidgetType* m_referenceActive = nullptr;
SidebarWidgetType* m_pendingReferenceType = nullptr;
- std::map<ViewFrame*, std::map<QString, std::map<SidebarWidgetType*, SidebarWidgetAndHeader*>>> m_widgets;
+ std::map<FileContext*, std::map<QString, std::map<SidebarWidgetType*, SidebarWidgetAndHeader*>>> m_widgets;
+ std::map<FileContext*, std::set<ViewFrame*>> m_frames;
std::map<SplitPaneWidget*, std::map<QString, std::pair<SidebarWidgetType*, SidebarWidgetType*>>> m_priorWidgets;
std::map<SplitPaneWidget*, std::map<QString, QList<int>>> m_priorContentSplitterSizes;
std::map<SplitPaneWidget*, std::map<QString, QList<int>>> m_priorParentSplitterSizes;