more "thread safe" fix to save list refreshing problem

This commit is contained in:
jacob1 2015-01-10 13:43:15 -05:00
parent 1a2e3a11fc
commit 65a31bb1d1
2 changed files with 11 additions and 3 deletions

View File

@ -37,6 +37,7 @@ SearchController::SearchController(ControllerCallback * callback):
nextQueryTime(0.0f),
nextQueryDone(true),
instantOpen(false),
doRefresh(false),
searchModel(NULL)
{
searchModel = new SearchModel();
@ -61,7 +62,14 @@ void SearchController::ReleaseLoadedSave()
void SearchController::Update()
{
if(!nextQueryDone && nextQueryTime < gettime())
if (doRefresh)
{
nextQueryDone = true;
doRefresh = false;
ClearSelection();
searchModel->UpdateSaveList(searchModel->GetPageNum(), searchModel->GetLastQuery());
}
else if (!nextQueryDone && nextQueryTime < gettime())
{
nextQueryDone = true;
searchModel->UpdateSaveList(1, nextQuery);
@ -121,8 +129,7 @@ void SearchController::DoSearch(std::string query, bool now)
void SearchController::Refresh()
{
ClearSelection();
searchModel->UpdateSaveList(searchModel->GetPageNum(), searchModel->GetLastQuery());
doRefresh = true;
}
void SearchController::PrevPage()

View File

@ -22,6 +22,7 @@ private:
std::string nextQuery;
bool nextQueryDone;
bool instantOpen;
bool doRefresh;
void removeSelectedC();
void unpublishSelectedC();
public: