Merge pull request #3690 from jamierocks/ftb-search-edge
NOISSUE Fix edgecase where new searches won't be processed
This commit is contained in:
commit
5400d4e613
@ -106,21 +106,22 @@ void ListModel::getLogo(const QString &logo, const QString &logoUrl, LogoCallbac
|
||||
|
||||
void ListModel::searchWithTerm(const QString &term)
|
||||
{
|
||||
if(currentSearchTerm == term && currentSearchTerm.isNull() == term.isNull()) {
|
||||
if(searchState != Failed && currentSearchTerm == term && currentSearchTerm.isNull() == term.isNull()) {
|
||||
// unless the search has failed, then there is no need to perform an identical search.
|
||||
return;
|
||||
}
|
||||
currentSearchTerm = term;
|
||||
|
||||
if(jobPtr) {
|
||||
jobPtr->abort();
|
||||
searchState = ResetRequested;
|
||||
return;
|
||||
}
|
||||
else {
|
||||
beginResetModel();
|
||||
modpacks.clear();
|
||||
endResetModel();
|
||||
searchState = None;
|
||||
jobPtr.reset();
|
||||
}
|
||||
|
||||
beginResetModel();
|
||||
modpacks.clear();
|
||||
endResetModel();
|
||||
searchState = None;
|
||||
|
||||
performSearch();
|
||||
}
|
||||
|
||||
@ -154,15 +155,7 @@ void ListModel::searchRequestFailed(QString reason)
|
||||
jobPtr.reset();
|
||||
remainingPacks.clear();
|
||||
|
||||
if(searchState == ResetRequested) {
|
||||
beginResetModel();
|
||||
modpacks.clear();
|
||||
endResetModel();
|
||||
|
||||
performSearch();
|
||||
} else {
|
||||
searchState = Finished;
|
||||
}
|
||||
searchState = Failed;
|
||||
}
|
||||
|
||||
void ListModel::requestPack()
|
||||
|
@ -57,7 +57,8 @@ private:
|
||||
None,
|
||||
CanPossiblyFetchMore,
|
||||
ResetRequested,
|
||||
Finished
|
||||
Finished,
|
||||
Failed,
|
||||
} searchState = None;
|
||||
NetJobPtr jobPtr;
|
||||
int currentPack;
|
||||
|
Loading…
Reference in New Issue
Block a user