1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-07-02 23:41:34 +00:00

Merge branch 'refreshmodel' into 'master'

Fix out-of-bounds index dataChanged calls

See merge request OpenMW/openmw!4677
This commit is contained in:
Evil Eye 2025-05-17 10:24:58 +00:00
commit 52b3e0688a
2 changed files with 5 additions and 5 deletions

View file

@ -726,7 +726,7 @@ void ContentSelectorModel::ContentModel::setContentList(const QStringList& fileL
}
}
}
emit dataChanged(index(0, 0), index(rowCount(), columnCount()));
refreshModel();
}
QList<ContentSelectorModel::LoadOrderError> ContentSelectorModel::ContentModel::checkForLoadOrderErrors(
@ -790,9 +790,9 @@ QString ContentSelectorModel::ContentModel::toolTip(const EsmFile* file) const
}
}
void ContentSelectorModel::ContentModel::refreshModel()
void ContentSelectorModel::ContentModel::refreshModel(std::initializer_list<int> roles)
{
emit dataChanged(index(0, 0), index(rowCount() - 1, 0));
emit dataChanged(index(0, 0), index(rowCount() - 1, 0), roles);
}
bool ContentSelectorModel::ContentModel::setCheckState(const QString& filepath, bool checkState)
@ -878,5 +878,5 @@ ContentSelectorModel::ContentFileList ContentSelectorModel::ContentModel::checke
void ContentSelectorModel::ContentModel::uncheckAll()
{
mCheckedFiles.clear();
emit dataChanged(index(0, 0), index(rowCount(), columnCount()), { Qt::CheckStateRole, Qt::UserRole + 1 });
refreshModel({ Qt::CheckStateRole, Qt::UserRole + 1 });
}

View file

@ -67,7 +67,7 @@ namespace ContentSelectorModel
ContentFileList checkedItems() const;
void uncheckAll();
void refreshModel();
void refreshModel(std::initializer_list<int> roles = {});
private:
void addFile(EsmFile* file);