Change window close/deallocation to match upstream
This commit is contained in:
@@ -377,12 +377,13 @@ struct BuildRoadToolbarWindow : Window {
|
||||
if (_settings_client.gui.link_terraform_toolbar) ShowTerraformToolbar(this);
|
||||
}
|
||||
|
||||
~BuildRoadToolbarWindow()
|
||||
void Close() override
|
||||
{
|
||||
if (_game_mode == GM_NORMAL && (this->IsWidgetLowered(WID_ROT_BUS_STATION) || this->IsWidgetLowered(WID_ROT_TRUCK_STATION))) SetViewportCatchmentStation(nullptr, true);
|
||||
if (_game_mode == GM_NORMAL && this->IsWidgetLowered(WID_ROT_BUILD_WAYPOINT)) SetViewportCatchmentWaypoint(nullptr, true);
|
||||
if (_settings_client.gui.link_terraform_toolbar) CloseWindowById(WC_SCEN_LAND_GEN, 0, false);
|
||||
CloseWindowById(WC_SELECT_STATION, 0);
|
||||
this->Window::Close();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1377,9 +1378,10 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
virtual ~BuildRoadStationWindow()
|
||||
void Close() override
|
||||
{
|
||||
CloseWindowById(WC_SELECT_STATION, 0);
|
||||
this->PickerWindowBase::Close();
|
||||
}
|
||||
|
||||
/** Sort classes by RoadStopClassID. */
|
||||
@@ -2035,9 +2037,10 @@ struct BuildRoadWaypointWindow : PickerWindowBase {
|
||||
}
|
||||
}
|
||||
|
||||
virtual ~BuildRoadWaypointWindow()
|
||||
void Close() override
|
||||
{
|
||||
CloseWindowById(WC_SELECT_STATION, 0);
|
||||
this->PickerWindowBase::Close();
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) override
|
||||
@@ -2395,7 +2398,7 @@ static BuildRoadToolbarWindow *GetRoadToolbarWindowForRoadStop(const RoadStopSpe
|
||||
if (w != nullptr) {
|
||||
if (spec != nullptr && ((HasBit(spec->flags, RSF_BUILD_MENU_ROAD_ONLY) && !RoadTypeIsRoad(_cur_roadtype)) ||
|
||||
(HasBit(spec->flags, RSF_BUILD_MENU_TRAM_ONLY) && !RoadTypeIsTram(_cur_roadtype)))) {
|
||||
delete w;
|
||||
w->Close();
|
||||
} else {
|
||||
return w;
|
||||
}
|
||||
|
Reference in New Issue
Block a user