From 68ec2a7877382a17ccad9aade09a5a444a1ca082 Mon Sep 17 00:00:00 2001 From: Patric Stout Date: Fri, 11 Mar 2022 16:18:09 +0100 Subject: [PATCH] Fix: removing long roads doesn't prioritize refusal of local authority over other errors (#9831) --- src/road_cmd.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/road_cmd.cpp b/src/road_cmd.cpp index 796ad99c61..e579796412 100644 --- a/src/road_cmd.cpp +++ b/src/road_cmd.cpp @@ -1113,8 +1113,14 @@ std::tuple CmdRemoveLongRoad(DoCommandFlag flags, TileIndex cost.AddCost(ret); had_success = true; } else { - /* Ownership errors are more important. */ - if (last_error.GetErrorMessage() != STR_ERROR_OWNED_BY) last_error = ret; + /* Some errors are more equal than others. */ + switch (last_error.GetErrorMessage()) { + case STR_ERROR_OWNED_BY: + case STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS: + break; + default: + last_error = ret; + } } }