summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/industry_gui.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/industry_gui.cpp b/src/industry_gui.cpp
index e18a52d1d..f64be7deb 100644
--- a/src/industry_gui.cpp
+++ b/src/industry_gui.cpp
@@ -803,9 +803,10 @@ protected:
this->industries.RebuildDone();
this->vscroll.SetCount(this->industries.Length()); // Update scrollbar as well.
}
- this->last_industry = NULL;
- this->industries.Sort();
- this->InvalidateWidget(IDW_INDUSTRY_LIST);
+
+ if (!this->industries.Sort()) return;
+ IndustryDirectoryWindow::last_industry = NULL; // Reset name sorter sort cache
+ this->InvalidateWidget(IDW_INDUSTRY_LIST); // Set the modified widget dirty
}
/**
@@ -1045,7 +1046,7 @@ public:
{
if (this->industries.SortType() != index) {
this->industries.SetSortType(index);
- this->SetDirty();
+ this->BuildSortIndustriesList();
}
}
@@ -1056,8 +1057,8 @@ public:
virtual void OnHundredthTick()
{
+ this->industries.ForceResort();
this->BuildSortIndustriesList();
- this->SetDirty();
}
virtual void OnInvalidateData(int data)