From 965623885798119e6b1332ae0ca35802893c5da1 Mon Sep 17 00:00:00 2001 From: Marko Lindqvist Date: Wed, 22 May 2024 15:42:41 +0300 Subject: [PATCH] Server: Backport 0077-city_freeze_workers_queue-Set-needs_arrange-for-citi.patch Signed-off-by: Marko Lindqvist --- freeciv/apply_patches.sh | 4 +++ ...ers_queue-Set-needs_arrange-for-citi.patch | 32 +++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 freeciv/patches/backports/0077-city_freeze_workers_queue-Set-needs_arrange-for-citi.patch diff --git a/freeciv/apply_patches.sh b/freeciv/apply_patches.sh index c1a14c21c..a8a9edb10 100755 --- a/freeciv/apply_patches.sh +++ b/freeciv/apply_patches.sh @@ -39,6 +39,9 @@ # 0068-Meson-Make-libfreeciv-to-depend-on-gitrev.patch # Build fix # RM #597 +# 0077-city_freeze_workers_queue-Set-needs_arrange-for-citi.patch +# City status legality fix +# RM #661 # Not in the upstream Freeciv server # ---------------------------------- @@ -73,6 +76,7 @@ declare -a PATCHLIST=( "backports/0089-Meson-Make-fc_client_common-to-depend-on-verhdr" "backports/0080-savegame-Save-ACTION_NONE-as-1" "backports/0068-Meson-Make-libfreeciv-to-depend-on-gitrev" + "backports/0077-city_freeze_workers_queue-Set-needs_arrange-for-citi" "RevertAmplio2ExtraUnits" "meson_webperimental" "metachange" diff --git a/freeciv/patches/backports/0077-city_freeze_workers_queue-Set-needs_arrange-for-citi.patch b/freeciv/patches/backports/0077-city_freeze_workers_queue-Set-needs_arrange-for-citi.patch new file mode 100644 index 000000000..857d1afd7 --- /dev/null +++ b/freeciv/patches/backports/0077-city_freeze_workers_queue-Set-needs_arrange-for-citi.patch @@ -0,0 +1,32 @@ +From 2af5f7de98ee8d5dcfe9dae9b524ceaa817a79b8 Mon Sep 17 00:00:00 2001 +From: Marko Lindqvist +Date: Wed, 22 May 2024 15:12:31 +0300 +Subject: [PATCH 77/77] city_freeze_workers_queue(): Set needs_arrange for + cities already in queue + +See RM #661 + +Signed-off-by: Marko Lindqvist +--- + server/citytools.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/server/citytools.c b/server/citytools.c +index d9332656e7..b687c07b74 100644 +--- a/server/citytools.c ++++ b/server/citytools.c +@@ -162,6 +162,11 @@ void city_freeze_workers_queue(struct city *pcity) + if (arrange_workers_queue == nullptr) { + arrange_workers_queue = city_list_new(); + } else if (city_list_find_number(arrange_workers_queue, pcity->id)) { ++ /* City might have been arranged since it was originally put to the queue. ++ * Make sure needs_arrange is set again. */ ++ if (pcity->server.needs_arrange == CNA_NOT) { ++ pcity->server.needs_arrange = CNA_NORMAL; ++ } + return; + } + +-- +2.43.0 +