diff options
author | smatz <smatz@openttd.org> | 2008-09-13 10:19:51 +0000 |
---|---|---|
committer | smatz <smatz@openttd.org> | 2008-09-13 10:19:51 +0000 |
commit | 66be028ad4bb32758115ad10e542104b80d79eed (patch) | |
tree | 13719aee50b7d6e902e7f4499a4cd1c9311ea099 /src/news_gui.cpp | |
parent | fc62d736f700ca344531a96ca02324695af8d761 (diff) | |
download | openttd-66be028ad4bb32758115ad10e542104b80d79eed.tar.xz |
(svn r14307) -Fix: when deleting a station, remove news items regarding it
Diffstat (limited to 'src/news_gui.cpp')
-rw-r--r-- | src/news_gui.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
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; |