From 695452e1a38ee9bcedbfac565fd638d761af4b79 Mon Sep 17 00:00:00 2001 From: Marc Zinnschlag Date: Thu, 29 Sep 2011 09:02:06 +0200 Subject: [PATCH] Issue #169: Don't continue to run local scripts after the reference the script is attached to has been deleted --- apps/openmw/mwworld/world.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/apps/openmw/mwworld/world.cpp b/apps/openmw/mwworld/world.cpp index 906d92c9f..f2e846ef4 100644 --- a/apps/openmw/mwworld/world.cpp +++ b/apps/openmw/mwworld/world.cpp @@ -574,6 +574,14 @@ namespace MWWorld mEnvironment.mSoundManager->stopSound3D (ptr); mPhysics->removeObject (ptr.getRefData().getHandle()); + + for (ScriptList::iterator iter = mLocalScripts.begin(); iter!=mLocalScripts.end(); + ++iter) + if (ptr==iter->second) + { + mLocalScripts.erase (iter); + break; + } } render->deleteObject (ptr.getRefData().getHandle());