diff options
author | ennewalker <ennewalker@c06c8d41-db1a-0410-9941-cceddc491573> | 2009-03-31 03:08:39 +0000 |
---|---|---|
committer | ennewalker <ennewalker@c06c8d41-db1a-0410-9941-cceddc491573> | 2009-03-31 03:08:39 +0000 |
commit | 4f02417442109656263366ffcefd68231a0da7e9 (patch) | |
tree | bea44bde38ee94b163405ea82752d1c7e6202fa7 /crawl-ref/source/directn.cc | |
parent | 0425b58d7af48bde6dc27be5f700ede2c635923c (diff) | |
download | crawl-ref-4f02417442109656263366ffcefd68231a0da7e9.tar.gz crawl-ref-4f02417442109656263366ffcefd68231a0da7e9.zip |
[2722438] Fixing crash when viewing shop contents. shop_item* was being blindly casted to monsters*, which didn't play well with a non-existent virtual function table. Fixed by creating a ShopItemEntry and a MonstersMenuEntry class to differentiate the meaning of MenuEntry::data and to avoid crashes in the future by having MenuEntry::get_tiles() be a no-op.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@9572 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/directn.cc')
-rw-r--r-- | crawl-ref/source/directn.cc | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/crawl-ref/source/directn.cc b/crawl-ref/source/directn.cc index b3a31e0f36..605192bf47 100644 --- a/crawl-ref/source/directn.cc +++ b/crawl-ref/source/directn.cc @@ -586,9 +586,7 @@ void full_describe_view() { if (j == 0) { - me = new MenuEntry(prefix + str, MEL_ITEM, 1, hotkey); - me->data = (void*) list_mons[i]; - me->quantity = 1; // Hack to make monsters selectable. + me = new MonsterMenuEntry(prefix+str, list_mons[i], hotkey); } #ifndef USE_TILE else |