From 66be028ad4bb32758115ad10e542104b80d79eed Mon Sep 17 00:00:00 2001 From: smatz Date: Sat, 13 Sep 2008 10:19:51 +0000 Subject: (svn r14307) -Fix: when deleting a station, remove news items regarding it --- src/news_gui.cpp | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'src/news_gui.cpp') diff --git a/src/news_gui.cpp b/src/news_gui.cpp index 8cd973a1c..fb4f1e3f9 100644 --- a/src/news_gui.cpp +++ b/src/news_gui.cpp @@ -579,6 +579,29 @@ void DeleteVehicleNews(VehicleID vid, StringID news) } } +/** Remove news regarding given station so there are no 'unknown station now accepts Mail' + * or 'First train arrived at unknown station' news items. + * @param sid station to remove news about + */ +void DeleteStationNews(StationID sid) +{ + NewsItem *ni = _oldest_news; + + while (ni != NULL) { + NewsItem *next = ni->next; + switch (ni->subtype) { + case NS_ARRIVAL_PLAYER: + case NS_ARRIVAL_OTHER: + case NS_ACCEPTANCE: + if (ni->data_b == sid) DeleteNewsItem(ni); + break; + default: + break; + } + ni = next; + } +} + void RemoveOldNewsItems() { NewsItem *next; -- cgit v1.2.3-54-g00ecf