changeset 17494:24022375538e draft

(svn r22249) -Codechange: Process some more invalidation of IDs during command scope.
author frosch <frosch@openttd.org>
date Sun, 13 Mar 2011 21:35:50 +0000
parents 9e2b60947a54
children 8ece8493d08b
files src/ai/ai_gui.cpp src/fios_gui.cpp
diffstat 2 files changed, 4 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/ai/ai_gui.cpp
+++ b/src/ai/ai_gui.cpp
@@ -711,11 +711,12 @@
 	 */
 	virtual void OnInvalidateData(int data = 0, bool gui_scope = true)
 	{
-		if (!gui_scope) return;
 		if (!IsEditable(this->selected_slot)) {
 			this->selected_slot = INVALID_COMPANY;
 		}
 
+		if (!gui_scope) return;
+
 		this->SetWidgetDisabledState(AIC_WIDGET_DECREASE, GetGameSettings().difficulty.max_no_competitors == 0);
 		this->SetWidgetDisabledState(AIC_WIDGET_INCREASE, GetGameSettings().difficulty.max_no_competitors == MAX_COMPANIES - 1);
 		this->SetWidgetDisabledState(AIC_WIDGET_CHANGE, this->selected_slot == INVALID_COMPANY);
--- a/src/fios_gui.cpp
+++ b/src/fios_gui.cpp
@@ -666,16 +666,17 @@
 	 */
 	virtual void OnInvalidateData(int data = 0, bool gui_scope = true)
 	{
-		if (!gui_scope) return;
 		switch (data) {
 			case 0:
 				/* Rescan files */
 				this->selected = NULL;
 				_load_check_data.Clear();
+				if (!gui_scope) break;
 				BuildFileList();
 				/* FALL THROUGH */
 			case 1:
 				/* Selection changes */
+				if (!gui_scope) break;
 				if (_saveload_mode == SLD_LOAD_GAME || _saveload_mode == SLD_LOAD_SCENARIO) {
 					this->SetWidgetDisabledState(SLWW_LOAD_BUTTON,
 							this->selected == NULL || _load_check_data.HasErrors() || !(_load_check_data.grf_compatibility != GLC_NOT_FOUND || _settings_client.gui.UserIsAllowedToChangeNewGRFs()));