From 58fa98458b667eba3fc1cc1e71de15706765f3fe Mon Sep 17 00:00:00 2001 From: Mark Rowe Date: Mon, 11 May 2026 18:56:44 -0700 Subject: Fix leaks due to missing parenting of Qt objects --- examples/triage/files.cpp | 2 +- plugins/warp/ui/shared/constraint.cpp | 3 ++- plugins/warp/ui/shared/function.cpp | 3 ++- view/kernelcache/ui/kctriage.cpp | 2 +- view/sharedcache/ui/dsctriage.cpp | 2 +- 5 files changed, 7 insertions(+), 5 deletions(-) diff --git a/examples/triage/files.cpp b/examples/triage/files.cpp index ed1c3ca6..2efa90cf 100644 --- a/examples/triage/files.cpp +++ b/examples/triage/files.cpp @@ -16,7 +16,7 @@ TriageFilePicker::TriageFilePicker(UIContext* context) SettingsRef settings = BinaryNinja::Settings::Instance(); bool hiddenFiles = settings->Get("triage.hiddenFiles"); - m_model = new QFileSystemModel(); + m_model = new QFileSystemModel(this); m_model->setRootPath(""); if (hiddenFiles) m_model->setFilter(QDir::Hidden | QDir::AllEntries | QDir::System); diff --git a/plugins/warp/ui/shared/constraint.cpp b/plugins/warp/ui/shared/constraint.cpp index fcebbfb0..4a4aa4e2 100644 --- a/plugins/warp/ui/shared/constraint.cpp +++ b/plugins/warp/ui/shared/constraint.cpp @@ -13,7 +13,8 @@ WarpConstraintItem::WarpConstraintItem(const Warp::Constraint& constraint) : m_c setText(guidStr); } -WarpConstraintItemModel::WarpConstraintItemModel(const QStringList& labels, QObject* parent) +WarpConstraintItemModel::WarpConstraintItemModel(const QStringList& labels, QObject* parent) : + QStandardItemModel(parent) { this->setHorizontalHeaderLabels(labels); } diff --git a/plugins/warp/ui/shared/function.cpp b/plugins/warp/ui/shared/function.cpp index fd403d77..038e48a2 100644 --- a/plugins/warp/ui/shared/function.cpp +++ b/plugins/warp/ui/shared/function.cpp @@ -44,7 +44,8 @@ void WarpFunctionItem::SetSource(Warp::Source source) setData(QString::fromStdString(sourceStr), Qt::UserRole + 1); } -WarpFunctionItemModel::WarpFunctionItemModel(const QStringList& labels, QObject* parent) +WarpFunctionItemModel::WarpFunctionItemModel(const QStringList& labels, QObject* parent) : + QStandardItemModel(parent) { this->setHorizontalHeaderLabels(labels); } diff --git a/view/kernelcache/ui/kctriage.cpp b/view/kernelcache/ui/kctriage.cpp index e13ebdcf..06eee409 100644 --- a/view/kernelcache/ui/kctriage.cpp +++ b/view/kernelcache/ui/kctriage.cpp @@ -44,7 +44,7 @@ KCTriageView::KCTriageView(QWidget* parent, BinaryViewRef data) : QWidget(parent UIContext::registerNotification(this); - m_triageCollection = new DockableTabCollection(); + m_triageCollection = new DockableTabCollection(this); m_triageTabs = new SplitTabWidget(m_triageCollection); auto triageTabStyle = new GlobalAreaTabStyle(); diff --git a/view/sharedcache/ui/dsctriage.cpp b/view/sharedcache/ui/dsctriage.cpp index 43302534..1e7ca336 100644 --- a/view/sharedcache/ui/dsctriage.cpp +++ b/view/sharedcache/ui/dsctriage.cpp @@ -44,7 +44,7 @@ DSCTriageView::DSCTriageView(QWidget* parent, BinaryViewRef data) : QWidget(pare UIContext::registerNotification(this); - m_triageCollection = new DockableTabCollection(); + m_triageCollection = new DockableTabCollection(this); m_triageTabs = new SplitTabWidget(m_triageCollection); auto triageTabStyle = new GlobalAreaTabStyle(); -- cgit v1.3.1