summaryrefslogtreecommitdiff
path: root/src/group_gui.cpp
diff options
context:
space:
mode:
authorfrosch <frosch@openttd.org>2011-03-13 21:34:21 +0000
committerfrosch <frosch@openttd.org>2011-03-13 21:34:21 +0000
commit652c9cb6635cc5f72a32077fdcd4e0f4bcc859e0 (patch)
tree3b78a1acc0ee0efe1e64ada470e815b44dc63442 /src/group_gui.cpp
parent5689b3dbda6b3e4adee2c20e32d06a9e5a158c07 (diff)
downloadopenttd-652c9cb6635cc5f72a32077fdcd4e0f4bcc859e0.tar.xz
(svn r22247) -Codechange: Update comments wrt. ForceRebuild() in command-scope.
Diffstat (limited to 'src/group_gui.cpp')
-rw-r--r--src/group_gui.cpp6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/group_gui.cpp b/src/group_gui.cpp
index 906b099ec..6cbd89920 100644
--- a/src/group_gui.cpp
+++ b/src/group_gui.cpp
@@ -260,11 +260,8 @@ public:
*/
virtual void OnInvalidateData(int data = 0, bool gui_scope = true)
{
- if (!gui_scope) return;
- /* We can only set the trigger for resorting/rebuilding.
- * We cannot safely resort at this point, as there might be multiple scheduled invalidations,
- * and a rebuild needs to be done first though it is scheduled later. */
if (data == 0) {
+ /* This needs to be done in command-scope to enforce rebuilding before resorting invalid data */
this->vehicles.ForceRebuild();
this->groups.ForceRebuild();
} else {
@@ -272,6 +269,7 @@ public:
this->groups.ForceResort();
}
+ /* Process ID-invalidation in command-scope as well */
if (this->group_rename != INVALID_GROUP && !Group::IsValidID(this->group_rename)) {
DeleteWindowByClass(WC_QUERY_STRING);
this->group_rename = INVALID_GROUP;