mirror of
https://github.com/TES3MP/openmw-tes3mp.git
synced 2025-04-01 00:36:46 +00:00
Fixed segfault in datafilesmodel because of invalid modelindex row
This commit is contained in:
parent
6920958e16
commit
433773e0ea
2 changed files with 9 additions and 6 deletions
|
@ -60,10 +60,10 @@ QVariant DataFilesModel::data(const QModelIndex &index, int role) const
|
||||||
if (!index.isValid())
|
if (!index.isValid())
|
||||||
return QVariant();
|
return QVariant();
|
||||||
|
|
||||||
// if (index.row() < 0 || index.row() >= mPlugins.size())
|
EsmFile *file = item(index.row());
|
||||||
// return QVariant();
|
|
||||||
|
|
||||||
EsmFile *file = mFiles.at(index.row());
|
if (!file)
|
||||||
|
return QVariant();
|
||||||
|
|
||||||
const int column = index.column();
|
const int column = index.column();
|
||||||
|
|
||||||
|
@ -146,7 +146,10 @@ Qt::ItemFlags DataFilesModel::flags(const QModelIndex &index) const
|
||||||
if (!index.isValid())
|
if (!index.isValid())
|
||||||
return Qt::NoItemFlags;
|
return Qt::NoItemFlags;
|
||||||
|
|
||||||
EsmFile *file = mFiles.at(index.row());
|
EsmFile *file = item(index.row());
|
||||||
|
|
||||||
|
if (!file)
|
||||||
|
return Qt::NoItemFlags;
|
||||||
|
|
||||||
if (mAvailableFiles.contains(file->fileName())) {
|
if (mAvailableFiles.contains(file->fileName())) {
|
||||||
if (index.column() == 0) {
|
if (index.column() == 0) {
|
||||||
|
@ -384,7 +387,7 @@ EsmFile* DataFilesModel::findItem(const QString &name)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
EsmFile* DataFilesModel::item(int row)
|
EsmFile* DataFilesModel::item(int row) const
|
||||||
{
|
{
|
||||||
if (row >= 0 && row < mFiles.count())
|
if (row >= 0 && row < mFiles.count())
|
||||||
return mFiles.at(row);
|
return mFiles.at(row);
|
||||||
|
|
|
@ -47,7 +47,7 @@ public:
|
||||||
|
|
||||||
QModelIndex indexFromItem(EsmFile *item) const;
|
QModelIndex indexFromItem(EsmFile *item) const;
|
||||||
EsmFile* findItem(const QString &name);
|
EsmFile* findItem(const QString &name);
|
||||||
EsmFile* item(int row);
|
EsmFile* item(int row) const;
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void checkedItemsChanged(const QStringList checkedItems, const QStringList unCheckedItems);
|
void checkedItemsChanged(const QStringList checkedItems, const QStringList unCheckedItems);
|
||||||
|
|
Loading…
Reference in a new issue