(svn r20545) -Codechange: make sure an OrderBackup gets cleared when the depot it belongs to gets removed, the depot window gets closed or when another vehicle gets sold in a depot
This commit is contained in:
@@ -261,6 +261,7 @@ struct DepotWindow : Window {
|
||||
~DepotWindow()
|
||||
{
|
||||
DeleteWindowById(WC_BUILD_VEHICLE, this->window_number);
|
||||
OrderBackup::Reset(this->window_number);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -978,12 +979,9 @@ struct DepotWindow : Window {
|
||||
|
||||
bool is_engine = (v->type != VEH_TRAIN || Train::From(v)->IsFrontEngine());
|
||||
|
||||
if (is_engine) {
|
||||
OrderBackup::Reset();
|
||||
new OrderBackup(v);
|
||||
}
|
||||
if (is_engine) OrderBackup::Backup(v);
|
||||
|
||||
if (!DoCommandP(v->tile, v->index | sell_cmd << 16, 0, GetCmdSellVeh(v->type)) && is_engine) OrderBackup::Reset();
|
||||
if (!DoCommandP(v->tile, v->index | sell_cmd << 16, 0, GetCmdSellVeh(v->type)) && is_engine) OrderBackup::Reset(this->window_number);
|
||||
break;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user