Before opening linked to main toolbar windows, delete linked windows.
This commit is contained in:
@@ -203,7 +203,7 @@ Window *ShowBuildAirToolbar()
|
||||
{
|
||||
if (!Company::IsValidID(_local_company)) return NULL;
|
||||
|
||||
DeleteWindowByClass(WC_BUILD_TOOLBAR);
|
||||
DeleteToolbarLinkedWindows();
|
||||
return AllocateWindowDescFront<BuildAirToolbarWindow>(&_air_toolbar_desc, TRANSPORT_AIR);
|
||||
}
|
||||
|
||||
|
||||
@@ -376,7 +376,7 @@ Window *ShowBuildDocksToolbar()
|
||||
{
|
||||
if (!Company::IsValidID(_local_company)) return NULL;
|
||||
|
||||
DeleteWindowByClass(WC_BUILD_TOOLBAR);
|
||||
DeleteToolbarLinkedWindows();
|
||||
return AllocateWindowDescFront<BuildDocksToolbarWindow>(&_build_docks_toolbar_desc, TRANSPORT_WATER);
|
||||
}
|
||||
|
||||
@@ -415,6 +415,7 @@ static WindowDesc _build_docks_scen_toolbar_desc(
|
||||
*/
|
||||
Window *ShowBuildDocksScenToolbar()
|
||||
{
|
||||
DeleteToolbarLinkedWindows();
|
||||
return AllocateWindowDescFront<BuildDocksToolbarWindow>(&_build_docks_scen_toolbar_desc, TRANSPORT_WATER);
|
||||
}
|
||||
|
||||
|
||||
@@ -645,7 +645,7 @@ public:
|
||||
void ShowBuildIndustryWindow()
|
||||
{
|
||||
if (_game_mode != GM_EDITOR && !Company::IsValidID(_local_company)) return;
|
||||
if (BringWindowToFrontById(WC_BUILD_INDUSTRY, 0)) return;
|
||||
DeleteToolbarLinkedWindows();
|
||||
new BuildIndustryWindow();
|
||||
}
|
||||
|
||||
|
||||
@@ -882,7 +882,7 @@ Window *ShowBuildRailToolbar(RailType railtype)
|
||||
if (!Company::IsValidID(_local_company)) return NULL;
|
||||
if (!ValParamRailtype(railtype)) return NULL;
|
||||
|
||||
DeleteWindowByClass(WC_BUILD_TOOLBAR);
|
||||
DeleteToolbarLinkedWindows();
|
||||
_cur_railtype = railtype;
|
||||
_remove_button_clicked = false;
|
||||
return new BuildRailToolbarWindow(&_build_rail_desc, railtype);
|
||||
|
||||
@@ -801,7 +801,7 @@ Window *ShowBuildRoadToolbar(RoadType roadtype)
|
||||
if (!Company::IsValidID(_local_company)) return NULL;
|
||||
_cur_roadtype = roadtype;
|
||||
|
||||
DeleteWindowByClass(WC_BUILD_TOOLBAR);
|
||||
DeleteToolbarLinkedWindows();
|
||||
return AllocateWindowDescFront<BuildRoadToolbarWindow>(roadtype == ROADTYPE_ROAD ? &_build_road_desc : &_build_tramway_desc, TRANSPORT_ROAD);
|
||||
}
|
||||
|
||||
@@ -846,6 +846,7 @@ static WindowDesc _build_road_scen_desc(
|
||||
*/
|
||||
Window *ShowBuildRoadScenToolbar()
|
||||
{
|
||||
DeleteToolbarLinkedWindows();
|
||||
_cur_roadtype = ROADTYPE_ROAD;
|
||||
return AllocateWindowDescFront<BuildRoadToolbarWindow>(&_build_road_scen_desc, TRANSPORT_ROAD);
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -371,6 +371,7 @@ Window *ShowTerraformToolbar(Window *link)
|
||||
|
||||
Window *w;
|
||||
if (link == NULL) {
|
||||
DeleteToolbarLinkedWindows();
|
||||
w = AllocateWindowDescFront<TerraformToolbarWindow>(&_terraform_desc, 0);
|
||||
return w;
|
||||
}
|
||||
@@ -761,5 +762,6 @@ static WindowDesc _scen_edit_land_gen_desc(
|
||||
*/
|
||||
Window *ShowEditorTerraformToolbar()
|
||||
{
|
||||
DeleteToolbarLinkedWindows();
|
||||
return AllocateWindowDescFront<ScenarioEditorLandscapeGenerationWindow>(&_scen_edit_land_gen_desc, 0);
|
||||
}
|
||||
|
||||
@@ -1210,5 +1210,6 @@ static WindowDesc _found_town_desc(
|
||||
void ShowFoundTownWindow()
|
||||
{
|
||||
if (_game_mode != GM_EDITOR && !Company::IsValidID(_local_company)) return;
|
||||
DeleteToolbarLinkedWindows();
|
||||
AllocateWindowDescFront<FoundTownWindow>(&_found_town_desc, 0);
|
||||
}
|
||||
|
||||
3527
src/window.cpp.orig
3527
src/window.cpp.orig
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user