Permalink
Browse files

more "thread safe" fix to save list refreshing problem

  • Loading branch information...
jacob1 committed Jan 10, 2015
1 parent 1a2e3a1 commit 65a31bb1d1bc9f5d78c389c3381e5530d14bb212
Showing with 11 additions and 3 deletions.
  1. +10 −3 src/gui/search/SearchController.cpp
  2. +1 −0 src/gui/search/SearchController.h
@@ -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()
@@ -22,6 +22,7 @@ class SearchController
std::string nextQuery;
bool nextQueryDone;
bool instantOpen;
bool doRefresh;
void removeSelectedC();
void unpublishSelectedC();
public:

0 comments on commit 65a31bb

Please sign in to comment.