Skip to content

Commit 2cc17e9

Browse files
committed
修复FluTreeModel::setDataSource内存泄漏问题
1 parent 882cc89 commit 2cc17e9

File tree

3 files changed

+4
-2
lines changed

3 files changed

+4
-2
lines changed

src/FluTreeModel.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -107,15 +107,15 @@ void FluTreeModel::checkRow(int row, bool checked) {
107107
void FluTreeModel::setDataSource(QList<QMap<QString, QVariant>> data) {
108108
_dataSource.clear();
109109
if (_root) {
110-
delete _root;
110+
_root->deleteLater();
111111
_root = nullptr;
112112
}
113113
_root = new FluTreeNode(this);
114114
std::reverse(data.begin(), data.end());
115115
while (data.count() > 0) {
116116
auto item = data.at(data.count() - 1);
117117
data.pop_back();
118-
auto *node = new FluTreeNode(this);
118+
auto *node = new FluTreeNode(_root);
119119
node->_depth = item.value("__depth").toInt();
120120
node->_parent = item.value("__parent").value<FluTreeNode *>();
121121
node->_data = item;

src/Qt5/imports/FluentUI/Controls/FluTreeView.qml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -474,6 +474,7 @@ Rectangle {
474474
}
475475
return {}
476476
}
477+
active: rowModel !== undefined && rowModel !== null
477478
sourceComponent: {
478479
if(column === 0)
479480
return com_column

src/Qt6/imports/FluentUI/Controls/FluTreeView.qml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -474,6 +474,7 @@ Rectangle {
474474
}
475475
return {}
476476
}
477+
active: rowModel !== undefined && rowModel !== null
477478
sourceComponent: {
478479
if(column === 0)
479480
return com_column

0 commit comments

Comments
 (0)