summaryrefslogtreecommitdiff
path: root/src/depot_gui.cpp
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2010-08-18 18:52:16 +0000
committerrubidium <rubidium@openttd.org>2010-08-18 18:52:16 +0000
commit019878118d11a6596eeab608c361dfea06c3f1ff (patch)
tree4675f56eaa3968827b3a98a1dd924f1de7c4bd13 /src/depot_gui.cpp
parente2422945301452421ede848aa67a2ff47ed03d13 (diff)
downloadopenttd-019878118d11a6596eeab608c361dfea06c3f1ff.tar.xz
(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
Diffstat (limited to 'src/depot_gui.cpp')
-rw-r--r--src/depot_gui.cpp8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/depot_gui.cpp b/src/depot_gui.cpp
index ff976fe77..e9ba9143f 100644
--- a/src/depot_gui.cpp
+++ b/src/depot_gui.cpp
@@ -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;
}