1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-02-05 22:15:33 +00:00

Catch exceptions in ResolutionListener

This commit is contained in:
Evil Eye 2021-04-11 14:12:31 +02:00
parent 301411c5c5
commit b91be1e803

View file

@ -76,11 +76,25 @@ namespace
MWWorld::ResolutionListener::~ResolutionListener() MWWorld::ResolutionListener::~ResolutionListener()
{ {
if(!mStore.mModified && mStore.mResolved && !mStore.mPtr.isEmpty()) if(!mStore.mModified && mStore.mResolved && !mStore.mPtr.isEmpty())
{
try
{ {
for(const auto&& ptr : mStore) for(const auto&& ptr : mStore)
ptr.getRefData().setCount(0); ptr.getRefData().setCount(0);
}
catch(const std::exception& e)
{
Log(Debug::Warning) << "Failed to clear temporary container contents of " << mStore.mPtr.get<ESM::Container>()->mBase->mId << ": " << e.what();
}
mStore.fillNonRandom(mStore.mPtr.get<ESM::Container>()->mBase->mInventory, "", mStore.mSeed); mStore.fillNonRandom(mStore.mPtr.get<ESM::Container>()->mBase->mInventory, "", mStore.mSeed);
try
{
addScripts(mStore, mStore.mPtr.mCell); addScripts(mStore, mStore.mPtr.mCell);
}
catch(const std::exception& e)
{
Log(Debug::Warning) << "Failed to restart item scripts inside " << mStore.mPtr.get<ESM::Container>()->mBase->mId << ": " << e.what();
}
mStore.mResolved = false; mStore.mResolved = false;
} }
} }