From cba6eb87c2493e9d86d37db865bb85817d451c80 Mon Sep 17 00:00:00 2001 From: frosch Date: Sun, 13 Mar 2011 21:35:50 +0000 Subject: (svn r22249) -Codechange: Process some more invalidation of IDs during command scope. --- src/ai/ai_gui.cpp | 3 ++- src/fios_gui.cpp | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/ai/ai_gui.cpp b/src/ai/ai_gui.cpp index e7b704e5c..edbd9652c 100644 --- a/src/ai/ai_gui.cpp +++ b/src/ai/ai_gui.cpp @@ -711,11 +711,12 @@ struct AIConfigWindow : public Window { */ 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); diff --git a/src/fios_gui.cpp b/src/fios_gui.cpp index c87167882..3b97b420b 100644 --- a/src/fios_gui.cpp +++ b/src/fios_gui.cpp @@ -666,16 +666,17 @@ public: */ 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())); -- cgit v1.2.3-54-g00ecf