From cc42e76f54a37a0af9704f3966fdb48625686c24 Mon Sep 17 00:00:00 2001 From: Tannin Date: Mon, 25 Aug 2014 21:07:29 +0200 Subject: - bugfix: MO would report invalid index errors when downloading while download list is sorted by filetime descending --- src/downloadlist.cpp | 4 ++-- src/downloadlistsortproxy.cpp | 7 ++++--- src/organizer.pro | 3 ++- 3 files changed, 8 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/downloadlist.cpp b/src/downloadlist.cpp index ef2db91b..f13cdef1 100644 --- a/src/downloadlist.cpp +++ b/src/downloadlist.cpp @@ -81,8 +81,8 @@ QVariant DownloadList::data(const QModelIndex &index, int role) const if (m_Manager->isInfoIncomplete(index.row())) { text += tr("Information missing, please select \"Query Info\" from the context menu to re-retrieve."); } else { - const MOBase::ModRepositoryFileInfo *info = m_Manager->getFileInfo(index.row()); - return QString("%1 (ID %2) %3
%4").arg(info->modName).arg(m_Manager->getModID(index.row())).arg(info->version.canonicalString()).arg(info->description); + const MOBase::ModRepositoryFileInfo *info = m_Manager->getFileInfo(index.row()); + return QString("%1 (ID %2) %3
%4").arg(info->modName).arg(m_Manager->getModID(index.row())).arg(info->version.canonicalString()).arg(info->description); } return text; } else { diff --git a/src/downloadlistsortproxy.cpp b/src/downloadlistsortproxy.cpp index 9eb22655..31deba0b 100644 --- a/src/downloadlistsortproxy.cpp +++ b/src/downloadlistsortproxy.cpp @@ -35,9 +35,10 @@ void DownloadListSortProxy::updateFilter(const QString &filter) bool DownloadListSortProxy::lessThan(const QModelIndex &left, const QModelIndex &right) const { - int leftIndex = sourceModel()->data(left).toInt(); - int rightIndex = sourceModel()->data(right).toInt(); - if (leftIndex < m_Manager->numTotalDownloads()) { + int leftIndex = left.data().toInt(); + int rightIndex = right.data().toInt(); + if ((leftIndex < m_Manager->numTotalDownloads()) + && (rightIndex < m_Manager->numTotalDownloads())) { if (left.column() == DownloadList::COL_NAME) { return m_Manager->getFileName(leftIndex).compare(m_Manager->getFileName(rightIndex), Qt::CaseInsensitive) < 0; } else if (left.column() == DownloadList::COL_FILETIME) { diff --git a/src/organizer.pro b/src/organizer.pro index 76f95955..bffd1e16 100644 --- a/src/organizer.pro +++ b/src/organizer.pro @@ -291,7 +291,8 @@ TRANSLATIONS = organizer_de.ts \ organizer_tr.ts \ organizer_en_US.ts \ organizer_ko.ts \ - organizer_ru.ts + organizer_ru.ts \ + organizer_en.ts #!isEmpty(TRANSLATIONS) { # isEmpty(QMAKE_LRELEASE) { -- cgit v1.3.1