From 9db3cde73af598852da13b748eef31a8207cfcf2 Mon Sep 17 00:00:00 2001 From: frosch Date: Mon, 31 May 2010 20:22:57 +0000 Subject: (svn r19914) -Codechange: Wrap a helper class around temporary assignments of _current_company to ensure proper restoration. --- src/disaster_cmd.cpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'src/disaster_cmd.cpp') diff --git a/src/disaster_cmd.cpp b/src/disaster_cmd.cpp index 314cf14de..44f27fa8a 100644 --- a/src/disaster_cmd.cpp +++ b/src/disaster_cmd.cpp @@ -43,6 +43,7 @@ #include "ai/ai.hpp" #include "company_base.h" #include "core/random_func.hpp" +#include "core/backup_type.hpp" #include "table/strings.h" #include "table/sprites.h" @@ -72,10 +73,9 @@ static void DisasterClearSquare(TileIndex tile) switch (GetTileType(tile)) { case MP_RAILWAY: if (Company::IsHumanID(GetTileOwner(tile))) { - CompanyID old_company = _current_company; - _current_company = OWNER_WATER; + Backup cur_company(_current_company, OWNER_WATER); DoCommand(tile, 0, 0, DC_EXEC, CMD_LANDSCAPE_CLEAR); - _current_company = old_company; + cur_company.Restore(); /* update signals in buffer */ UpdateSignalsInBuffer(); @@ -83,10 +83,9 @@ static void DisasterClearSquare(TileIndex tile) break; case MP_HOUSE: { - CompanyID old_company = _current_company; - _current_company = OWNER_NONE; + Backup cur_company(_current_company, OWNER_NONE); DoCommand(tile, 0, 0, DC_EXEC, CMD_LANDSCAPE_CLEAR); - _current_company = old_company; + cur_company.Restore(); break; } -- cgit v1.2.3-54-g00ecf