summaryrefslogtreecommitdiff
path: root/src/news_gui.cpp
diff options
context:
space:
mode:
authorsmatz <smatz@openttd.org>2009-01-09 20:42:17 +0000
committersmatz <smatz@openttd.org>2009-01-09 20:42:17 +0000
commit5fc7fe9648b8f6c4f2d361e8cc4958ac34402a75 (patch)
tree1d0452dcb858922d011ce28cb9427233c1ce1e43 /src/news_gui.cpp
parent5c666fac143ece6d72207c7fb33cc74e5fa0a562 (diff)
downloadopenttd-5fc7fe9648b8f6c4f2d361e8cc4958ac34402a75.tar.xz
(svn r14940) -Fix: let the statusbar know the current news are invalid or bad things will happen
Diffstat (limited to 'src/news_gui.cpp')
-rw-r--r--src/news_gui.cpp13
1 files changed, 5 insertions, 8 deletions
diff --git a/src/news_gui.cpp b/src/news_gui.cpp
index d626c2af2..5ba424d5c 100644
--- a/src/news_gui.cpp
+++ b/src/news_gui.cpp
@@ -449,7 +449,8 @@ static bool ReadyForNextItem()
/** Move to the next news item */
static void MoveToNextItem()
{
- DeleteWindowById(WC_NEWS_WINDOW, 0);
+ InvalidateWindowData(WC_STATUS_BAR, 0, SBI_NEWS_DELETED); // invalidate the statusbar
+ DeleteWindowById(WC_NEWS_WINDOW, 0); // close the newspapers window if shown
_forced_news = NULL;
/* if we're not at the last item, then move on */
@@ -526,13 +527,9 @@ void AddNewsItem(StringID string, NewsSubtype subtype, uint data_a, uint data_b,
/** Delete a news item from the queue */
static void DeleteNewsItem(NewsItem *ni)
{
- if (_forced_news == ni) {
- /* about to remove the currently forced item; skip to next */
- MoveToNextItem();
- }
-
- if ((_current_news == ni) && (FindWindowById(WC_NEWS_WINDOW, 0) != NULL)) {
- /* about to remove the currently displayed item; also skip */
+ if (_forced_news == ni || _current_news == ni) {
+ /* about to remove the currently forced item (shown as newspapers) ||
+ * about to remove the currently displayed item (newspapers, ticker, or just a reminder) */
MoveToNextItem();
}