summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/order_cmd.cpp4
-rw-r--r--src/train_cmd.cpp4
2 files changed, 8 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);
diff --git a/src/train_cmd.cpp b/src/train_cmd.cpp
index 61cd3ca5e..9746fd403 100644
--- a/src/train_cmd.cpp
+++ b/src/train_cmd.cpp
@@ -1332,6 +1332,10 @@ CommandCost CmdSellRailWagon(DoCommandFlag flags, Vehicle *t, uint16 data, uint3
CommandCost cost(EXPENSES_NEW_VEHICLES);
for (Train *t = sell_head; t != NULL; t = t->Next()) cost.AddCost(-t->value);
+ if (first->orders.list == NULL && !OrderList::CanAllocateItem()) {
+ return_cmd_error(STR_ERROR_NO_MORE_SPACE_FOR_ORDERS);
+ }
+
/* do it? */
if (flags & DC_EXEC) {
/* First normalise the sub types of the chain. */