diff options
author | rubidium <rubidium@openttd.org> | 2010-08-18 18:52:16 +0000 |
---|---|---|
committer | rubidium <rubidium@openttd.org> | 2010-08-18 18:52:16 +0000 |
commit | 019878118d11a6596eeab608c361dfea06c3f1ff (patch) | |
tree | 4675f56eaa3968827b3a98a1dd924f1de7c4bd13 /src/depot_gui.cpp | |
parent | e2422945301452421ede848aa67a2ff47ed03d13 (diff) | |
download | openttd-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.cpp | 8 |
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; } |