From 107bf32953f3261a0d7c02fa9113afeb94b68219 Mon Sep 17 00:00:00 2001 From: alberth Date: Thu, 18 Dec 2014 18:22:23 +0000 Subject: [PATCH] (svn r27086) -Codechange: Simplify opening of windows by always returning a valid window pointer. --- src/newgrf_debug_gui.cpp | 4 ++-- src/story_gui.cpp | 12 +++++++----- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/newgrf_debug_gui.cpp b/src/newgrf_debug_gui.cpp index 4abfa4b1fe..82c7a7d224 100644 --- a/src/newgrf_debug_gui.cpp +++ b/src/newgrf_debug_gui.cpp @@ -702,8 +702,8 @@ void ShowNewGRFInspectWindow(GrfSpecFeature feature, uint index, const uint32 gr if (!IsNewGRFInspectable(feature, index)) return; WindowNumber wno = GetInspectWindowNumber(feature, index); - NewGRFInspectWindow *w = AllocateWindowDescFront(feature == GSF_TRAINS || feature == GSF_ROADVEHICLES ? &_newgrf_inspect_chain_desc : &_newgrf_inspect_desc, wno); - if (w == NULL) w = (NewGRFInspectWindow *)FindWindowById(WC_NEWGRF_INSPECT, wno); + WindowDesc *desc = (feature == GSF_TRAINS || feature == GSF_ROADVEHICLES) ? &_newgrf_inspect_chain_desc : &_newgrf_inspect_desc; + NewGRFInspectWindow *w = AllocateWindowDescFront(desc, wno, true); w->SetCallerGRFID(grfid); } diff --git a/src/story_gui.cpp b/src/story_gui.cpp index 1c0edd9257..003843310e 100644 --- a/src/story_gui.cpp +++ b/src/story_gui.cpp @@ -758,13 +758,15 @@ static WindowDesc _story_book_desc( _nested_story_book_widgets, lengthof(_nested_story_book_widgets) ); +/** + * Raise or create the story book window for \a company, at page \a page_id. + * @param company 'Owner' of the story book, may be #INVALID_COMPANY. + * @param page_id Page to open, may be #INVALID_STORY_PAGE. + */ void ShowStoryBook(CompanyID company, uint16 page_id) { if (!Company::IsValidID(company)) company = (CompanyID)INVALID_COMPANY; - StoryBookWindow *w = AllocateWindowDescFront(&_story_book_desc, company); - if (page_id != INVALID_STORY_PAGE) { - if (w == NULL) w = (StoryBookWindow *)FindWindowById(WC_STORY_BOOK, company); - w->SetSelectedPage(page_id); - } + StoryBookWindow *w = AllocateWindowDescFront(&_story_book_desc, company, true); + if (page_id != INVALID_STORY_PAGE) w->SetSelectedPage(page_id); }