diff --git a/interface/src/ScriptsModel.cpp b/interface/src/ScriptsModel.cpp index 0c711cd940..b09762b73c 100644 --- a/interface/src/ScriptsModel.cpp +++ b/interface/src/ScriptsModel.cpp @@ -67,6 +67,13 @@ ScriptsModel::ScriptsModel(QObject* parent) : reloadRemoteFiles(); } +ScriptsModel::~ScriptsModel() { + for (int i = _treeNodes.size() - 1; i >= 0; i--) { + delete _treeNodes.at(i); + } + _treeNodes.clear(); +} + TreeNodeBase* ScriptsModel::getTreeNodeFromIndex(const QModelIndex& index) const { if (index.isValid()) { return static_cast(index.internalPointer()); diff --git a/interface/src/ScriptsModel.h b/interface/src/ScriptsModel.h index 549f87c0d7..914a197201 100644 --- a/interface/src/ScriptsModel.h +++ b/interface/src/ScriptsModel.h @@ -67,6 +67,7 @@ class ScriptsModel : public QAbstractItemModel { Q_OBJECT public: ScriptsModel(QObject* parent = NULL); + ~ScriptsModel(); QModelIndex index(int row, int column, const QModelIndex& parent) const; QModelIndex parent(const QModelIndex& child) const; QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const; diff --git a/interface/src/ui/RunningScriptsWidget.cpp b/interface/src/ui/RunningScriptsWidget.cpp index 46c8f90ff6..4346d813bb 100644 --- a/interface/src/ui/RunningScriptsWidget.cpp +++ b/interface/src/ui/RunningScriptsWidget.cpp @@ -68,6 +68,7 @@ RunningScriptsWidget::RunningScriptsWidget(QWidget* parent) : RunningScriptsWidget::~RunningScriptsWidget() { delete ui; + _scriptsModel.deleteLater(); } void RunningScriptsWidget::updateFileFilter(const QString& filter) {