From cbec93d9b6bf7e19bad65eda928b4e88620e481d Mon Sep 17 00:00:00 2001 From: darkvater Date: Thu, 12 Aug 2004 20:24:28 +0000 Subject: [PATCH] (svn r28) -Fix removing station merged with oilrig, will reset oilrigs ownership --- station_cmd.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/station_cmd.c b/station_cmd.c index 3a9256420f..4c9c9c4d64 100644 --- a/station_cmd.c +++ b/station_cmd.c @@ -538,8 +538,16 @@ static void UpdateStationAcceptance(Station *st, bool show_msg) static void DeleteStationIfEmpty(Station *st) { if (st->facilities == 0) { st->delete_ctr = 0; - InvalidateWindow(WC_STATION_LIST, st->owner); } + + // if a station next to an oilrig is removed, fix ownership + if (st->airport_type == AT_OILRIG && st->facilities == (FACIL_AIRPORT|FACIL_DOCK) ) { + _station_sort_dirty = true; + InvalidateWindow(WC_STATION_LIST, st->owner); + st->owner = 0x10; + } + + InvalidateWindow(WC_STATION_LIST, st->owner); } // Tries to clear the given area. Returns the cost in case of success. @@ -2319,7 +2327,7 @@ void BuildOilRig(uint tile) _map3_hi[tile] = 0; _map2[tile] = st->index; - st->owner = 0x10; + st->owner = OWNER_NONE; st->airport_flags = 0; st->airport_type = AT_OILRIG; st->xy = tile;