diff options
Diffstat (limited to 'src/industry_gui.cpp')
-rw-r--r-- | src/industry_gui.cpp | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/src/industry_gui.cpp b/src/industry_gui.cpp index 7a45c1192..7410cb3a3 100644 --- a/src/industry_gui.cpp +++ b/src/industry_gui.cpp @@ -1708,11 +1708,19 @@ public: */ void OnInvalidateData(int data = 0, bool gui_scope = true) override { - if (data == 0) { - /* This needs to be done in command-scope to enforce rebuilding before resorting invalid data */ - this->industries.ForceRebuild(); - } else { - this->industries.ForceResort(); + switch (data) { + case IDIWD_FORCE_REBUILD: + /* This needs to be done in command-scope to enforce rebuilding before resorting invalid data */ + this->industries.ForceRebuild(); + break; + + case IDIWD_PRODUCTION_CHANGE: + if (this->industries.SortType() == 2) this->industries.ForceResort(); + break; + + default: + this->industries.ForceResort(); + break; } } }; |