equal
deleted
inserted
replaced
13 #include "variables.h" |
13 #include "variables.h" |
14 #include "train.h" |
14 #include "train.h" |
15 #include "aircraft.h" |
15 #include "aircraft.h" |
16 #include "newgrf_cargo.h" |
16 #include "newgrf_cargo.h" |
17 #include "group.h" |
17 #include "group.h" |
18 #include "misc/autoptr.hpp" |
|
19 #include "strings_func.h" |
18 #include "strings_func.h" |
20 #include "gfx_func.h" |
19 #include "gfx_func.h" |
21 #include "functions.h" |
20 #include "functions.h" |
22 #include "window_func.h" |
21 #include "window_func.h" |
23 #include "date_func.h" |
22 #include "date_func.h" |
514 if (er != NULL) { |
513 if (er != NULL) { |
515 if (flags & DC_EXEC) er->to = new_engine; |
514 if (flags & DC_EXEC) er->to = new_engine; |
516 return CommandCost(); |
515 return CommandCost(); |
517 } |
516 } |
518 |
517 |
519 er = new EngineRenew(old_engine, new_engine); |
518 if (!EngineRenew::CanAllocateItem()) return CMD_ERROR; |
520 if (er == NULL) return CMD_ERROR; |
|
521 AutoPtrT<EngineRenew> er_auto_delete = er; |
|
522 |
|
523 |
519 |
524 if (flags & DC_EXEC) { |
520 if (flags & DC_EXEC) { |
|
521 er = new EngineRenew(old_engine, new_engine); |
525 er->group_id = group; |
522 er->group_id = group; |
526 |
523 |
527 /* Insert before the first element */ |
524 /* Insert before the first element */ |
528 er->next = (EngineRenew *)(*erl); |
525 er->next = (EngineRenew *)(*erl); |
529 *erl = (EngineRenewList)er; |
526 *erl = (EngineRenewList)er; |
530 |
|
531 er_auto_delete.Detach(); |
|
532 } |
527 } |
533 |
528 |
534 return CommandCost(); |
529 return CommandCost(); |
535 } |
530 } |
536 |
531 |