From 6f0cd10b812dc04d2bf08b409a528dff5c2a6f33 Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Sun, 27 Jan 2013 10:31:49 +0100 Subject: [PATCH] sect: Catch clobbered sector coordinates in sct_prewrite() Signed-off-by: Markus Armbruster --- src/lib/subs/sect.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/lib/subs/sect.c b/src/lib/subs/sect.c index ba6655fd8..b300b05d1 100644 --- a/src/lib/subs/sect.c +++ b/src/lib/subs/sect.c @@ -29,7 +29,7 @@ * Known contributors to this file: * Dave Pare, 1989 * Steve McClure, 1996 - * Markus Armbruster, 2004-2010 + * Markus Armbruster, 2004-2013 */ #include @@ -60,9 +60,16 @@ sct_prewrite(int id, void *old, void *new) { struct sctstr *oldsp = old; struct sctstr *sp = new; + coord x, y; int mil, civs; natid own, prev_own; + sctoff2xy(&x, &y, sp->sct_uid); + if (CANT_HAPPEN(sp->sct_x != x || sp->sct_y != y)) { + sp->sct_x = x; + sp->sct_y = y; + } + bridge_damaged(sp); item_prewrite(sp->sct_item); -- 2.43.0