summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsmatz <smatz@openttd.org>2009-05-26 21:55:49 +0000
committersmatz <smatz@openttd.org>2009-05-26 21:55:49 +0000
commitaa62ec0a1f7cc2416e0397eeccc90156d27b8b44 (patch)
treecd7239709be18313c128a285cde01c5466fa350a
parentbacbafe51094ab88c1e215d441566715040846c9 (diff)
downloadopenttd-aa62ec0a1f7cc2416e0397eeccc90156d27b8b44.tar.xz
(svn r16438) -Fix (r16436): set 'old_company' after modifying '_current_company'
-rw-r--r--src/command.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/command.cpp b/src/command.cpp
index abc87daba..19805d7f8 100644
--- a/src/command.cpp
+++ b/src/command.cpp
@@ -503,8 +503,6 @@ bool DoCommandP(TileIndex tile, uint32 p1, uint32 p2, uint32 cmd, CommandCallbac
StringID error_part1 = GB(cmd, 16, 16);
_additional_cash_required = 0;
- CompanyID old_company = _current_company;
-
/* get pointer to command handler */
byte cmd_id = cmd & CMD_ID_MASK;
assert(cmd_id < lengthof(_command_proc_table));
@@ -523,6 +521,8 @@ bool DoCommandP(TileIndex tile, uint32 p1, uint32 p2, uint32 cmd, CommandCallbac
/* Always execute server and spectator commands as spectator */
if (cmd_flags & (CMD_SPECTATOR | CMD_SERVER)) _current_company = COMPANY_SPECTATOR;
+ CompanyID old_company = _current_company;
+
/* If the company isn't valid it may only do server command or start a new company!
* The server will ditch any server commands a client sends to it, so effectively
* this guards the server from executing functions for an invalid company. */