# HG changeset patch # User smatz # Date 1243374949 0 # Node ID 34d22b1974a48b95a322ae0ba01e3fbaa334eb3f # Parent 8819bcf07fd5b1ac256d05fdb01c7d63f0301238 (svn r16438) -Fix (r16436): set 'old_company' after modifying '_current_company' diff --git a/src/command.cpp b/src/command.cpp --- a/src/command.cpp +++ b/src/command.cpp @@ -503,8 +503,6 @@ 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 @@ /* 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. */