Changeset - r22237:4b9f3d9200bb
[Not reviewed]
master
0 1 0
frosch - 9 years ago 2015-10-30 16:18:39
frosch@openttd.org
(svn r27419) -Fix [FS#6369]: CmdSellRailWagon did not revert all actions properly when no orderlist could be allocated. (Juanjo)
1 file changed with 6 insertions and 4 deletions:
0 comments (0 inline, 0 general)
src/train_cmd.cpp
Show inline comments
 
@@ -1386,13 +1386,15 @@ CommandCost CmdSellRailWagon(DoCommandFl
 
		return ret;
 
	}
 

	
 
	if (first->orders.list == NULL && !OrderList::CanAllocateItem()) {
 
		/* Restore the train we had. */
 
		RestoreTrainBackup(original);
 
		return_cmd_error(STR_ERROR_NO_MORE_SPACE_FOR_ORDERS);
 
	}
 

	
 
	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. */
0 comments (0 inline, 0 general)