summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/output.cc
diff options
context:
space:
mode:
authorennewalker <ennewalker@c06c8d41-db1a-0410-9941-cceddc491573>2008-05-09 18:16:05 +0000
committerennewalker <ennewalker@c06c8d41-db1a-0410-9941-cceddc491573>2008-05-09 18:16:05 +0000
commit01ecfffca144f8b8e42d9b846dd16440557c7e61 (patch)
tree1c9c9778b33e4698e2644d6c01f6ca709e3a2d33 /crawl-ref/source/output.cc
parent069ab73287c844507edb580e6898ea7fd1f7a2aa (diff)
downloadcrawl-ref-01ecfffca144f8b8e42d9b846dd16440557c7e61.tar.gz
crawl-ref-01ecfffca144f8b8e42d9b846dd16440557c7e61.zip
[1960394] Fixed crash when examining items from %. (Menu objects own their MenuEntry objects, so you can't destroy a Menu and then pass around MenuEntry pointers.)
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@4960 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/output.cc')
-rw-r--r--crawl-ref/source/output.cc11
1 files changed, 6 insertions, 5 deletions
diff --git a/crawl-ref/source/output.cc b/crawl-ref/source/output.cc
index 68dd12a5e0..3e41e383c7 100644
--- a/crawl-ref/source/output.cc
+++ b/crawl-ref/source/output.cc
@@ -1773,7 +1773,7 @@ static std::string _overview_screen_title()
// new scrollable status overview screen,
// including stats, mutations etc.
-std::vector<MenuEntry *> _get_overview_screen_results()
+char _get_overview_screen_results()
{
bool calc_unid = false;
formatted_scroller overview;
@@ -1994,21 +1994,22 @@ std::vector<MenuEntry *> _get_overview_screen_results()
overview.add_text(" ");
overview.add_text(_status_mut_abilities());
- return overview.show();
+
+ std::vector<MenuEntry *> results = overview.show();
+ return (results.size() > 0) ? results[0]->hotkeys[0] : 0;
}
void print_overview_screen()
{
while (true)
{
- std::vector<MenuEntry *> results = _get_overview_screen_results();
- if (results.size() == 0)
+ char c = _get_overview_screen_results();
+ if (!c)
{
redraw_screen();
break;
}
- const char c = results[0]->hotkeys[0];
item_def& item = you.inv[letter_to_index(c)];
describe_item(item, true);
// loop around for another go.