diff --git a/src/ai/ai_gui.cpp b/src/ai/ai_gui.cpp index 101a97d0a..776f4d767 100644 --- a/src/ai/ai_gui.cpp +++ b/src/ai/ai_gui.cpp @@ -273,6 +273,8 @@ static WindowDesc _ai_list_desc( static void ShowAIListWindow(CompanyID slot) { DeleteWindowByClass(WC_AI_LIST); + DeleteWindowByClass(WC_AI_SETTINGS); + DeleteWindowByClass(WC_TEXTFILE); new AIListWindow(&_ai_list_desc, slot); } @@ -623,6 +625,7 @@ static void ShowAISettingsWindow(CompanyID slot) { DeleteWindowByClass(WC_AI_LIST); DeleteWindowByClass(WC_AI_SETTINGS); + DeleteWindowByClass(WC_TEXTFILE); new AISettingsWindow(&_ai_settings_desc, slot); } @@ -653,6 +656,8 @@ struct ScriptTextfileWindow : public TextfileWindow { */ void ShowScriptTextfileWindow(TextfileType file_type, CompanyID slot) { + DeleteWindowByClass(WC_AI_LIST); + DeleteWindowByClass(WC_AI_SETTINGS); DeleteWindowByClass(WC_TEXTFILE); new ScriptTextfileWindow(file_type, slot); } @@ -732,6 +737,7 @@ struct AIConfigWindow : public Window { { DeleteWindowByClass(WC_AI_LIST); DeleteWindowByClass(WC_AI_SETTINGS); + DeleteWindowByClass(WC_TEXTFILE); } virtual void SetStringParameters(int widget) const diff --git a/src/settings_gui.cpp b/src/settings_gui.cpp index 0420ba15b..3a7d90e01 100644 --- a/src/settings_gui.cpp +++ b/src/settings_gui.cpp @@ -177,6 +177,7 @@ struct GameOptionsWindow : Window { ~GameOptionsWindow() { DeleteWindowById(WC_CUSTOM_CURRENCY, 0); + DeleteWindowByClass(WC_TEXTFILE); if (this->reload) _switch_mode = SM_MENU; }