diff --git a/src/FluTreeModel.cpp b/src/FluTreeModel.cpp index de9aae3f..f662a15c 100644 --- a/src/FluTreeModel.cpp +++ b/src/FluTreeModel.cpp @@ -107,7 +107,7 @@ void FluTreeModel::checkRow(int row, bool checked) { void FluTreeModel::setDataSource(QList> data) { _dataSource.clear(); if (_root) { - delete _root; + _root->deleteLater(); _root = nullptr; } _root = new FluTreeNode(this); @@ -115,7 +115,7 @@ void FluTreeModel::setDataSource(QList> data) { while (data.count() > 0) { auto item = data.at(data.count() - 1); data.pop_back(); - auto *node = new FluTreeNode(this); + auto *node = new FluTreeNode(_root); node->_depth = item.value("__depth").toInt(); node->_parent = item.value("__parent").value(); node->_data = item; diff --git a/src/Qt5/imports/FluentUI/Controls/FluTreeView.qml b/src/Qt5/imports/FluentUI/Controls/FluTreeView.qml index df160026..112ad209 100644 --- a/src/Qt5/imports/FluentUI/Controls/FluTreeView.qml +++ b/src/Qt5/imports/FluentUI/Controls/FluTreeView.qml @@ -474,6 +474,7 @@ Rectangle { } return {} } + active: rowModel !== undefined && rowModel !== null sourceComponent: { if(column === 0) return com_column diff --git a/src/Qt6/imports/FluentUI/Controls/FluTreeView.qml b/src/Qt6/imports/FluentUI/Controls/FluTreeView.qml index 2f5df3e6..7592e3e7 100644 --- a/src/Qt6/imports/FluentUI/Controls/FluTreeView.qml +++ b/src/Qt6/imports/FluentUI/Controls/FluTreeView.qml @@ -474,6 +474,7 @@ Rectangle { } return {} } + active: rowModel !== undefined && rowModel !== null sourceComponent: { if(column === 0) return com_column