From 52d8bc555c10b1ef8ac263856ff2e8d4131c7160 Mon Sep 17 00:00:00 2001 From: scrawl Date: Fri, 21 Aug 2015 14:24:34 +0200 Subject: [PATCH] Add missing checks to see if spell still exists when loading a savegame (Bug #2883) --- apps/openmw/mwgui/quickkeysmenu.cpp | 3 ++- apps/openmw/mwgui/windowmanagerimp.cpp | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/apps/openmw/mwgui/quickkeysmenu.cpp b/apps/openmw/mwgui/quickkeysmenu.cpp index 3f896bae2..89e6e59be 100644 --- a/apps/openmw/mwgui/quickkeysmenu.cpp +++ b/apps/openmw/mwgui/quickkeysmenu.cpp @@ -467,7 +467,8 @@ namespace MWGui switch (keyType) { case Type_Magic: - onAssignMagic(id); + if (MWBase::Environment::get().getWorld()->getStore().get().search(id)) + onAssignMagic(id); break; case Type_Item: case Type_MagicItem: diff --git a/apps/openmw/mwgui/windowmanagerimp.cpp b/apps/openmw/mwgui/windowmanagerimp.cpp index db5593704..7f9302bf2 100644 --- a/apps/openmw/mwgui/windowmanagerimp.cpp +++ b/apps/openmw/mwgui/windowmanagerimp.cpp @@ -1686,7 +1686,9 @@ namespace MWGui else if (type == ESM::REC_ASPL) { reader.getSubNameIs("ID__"); - mSelectedSpell = reader.getHString(); + std::string spell = reader.getHString(); + if (MWBase::Environment::get().getWorld()->getStore().get().search(spell)) + mSelectedSpell = spell; } else if (type == ESM::REC_MARK) {