summaryrefslogtreecommitdiff
path: root/src/order_cmd.cpp
diff options
context:
space:
mode:
authorsmatz <smatz@openttd.org>2011-02-08 18:29:30 +0000
committersmatz <smatz@openttd.org>2011-02-08 18:29:30 +0000
commit364ef8e6e6342f8f777da561571422c8c57c402b (patch)
treefaa555f8504b98667832b5530583d93aba633f85 /src/order_cmd.cpp
parentb4273bcd35d4d0083dc9bd88a207283b4e3ba014 (diff)
downloadopenttd-364ef8e6e6342f8f777da561571422c8c57c402b.tar.xz
(svn r22024) -Fix [FS#4468]: verify we can allocate an OrderList before we actually try to do so (Rubidium)
Diffstat (limited to 'src/order_cmd.cpp')
-rw-r--r--src/order_cmd.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/order_cmd.cpp b/src/order_cmd.cpp
index 3a6f59f20..4f97c782b 100644
--- a/src/order_cmd.cpp
+++ b/src/order_cmd.cpp
@@ -1389,6 +1389,10 @@ CommandCost CmdCloneOrder(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32
}
}
+ if (src->orders.list == NULL && !OrderList::CanAllocateItem()) {
+ return_cmd_error(STR_ERROR_NO_MORE_SPACE_FOR_ORDERS);
+ }
+
if (flags & DC_EXEC) {
/* If the destination vehicle had a OrderList, destroy it */
DeleteVehicleOrders(dst);