summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoruramer <antonuramer@gmail.com>2022-01-24 13:25:20 +0000
committeruramer <antonuramer@gmail.com>2022-01-24 13:25:20 +0000
commit39c7325db7e13da7d5cda73fd67c28f8d1266a36 (patch)
tree095d6b512247d9ea208152d8092b10ce8e4c1e0e
parentfdc08cf01e98f01a895d22c8122fddf0b6c1d20f (diff)
parent24989e7bc1fb66577ec340591afa8d2e8f91d708 (diff)
Merge branch 'lua_fix_onActorActive' into 'master'
Validate that object exists before onActorActive Lua handler See merge request OpenMW/openmw!1580
-rw-r--r--apps/openmw/mwlua/luamanagerimp.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/apps/openmw/mwlua/luamanagerimp.cpp b/apps/openmw/mwlua/luamanagerimp.cpp
index 8211c37abf..459a85d9c9 100644
--- a/apps/openmw/mwlua/luamanagerimp.cpp
+++ b/apps/openmw/mwlua/luamanagerimp.cpp
@@ -200,7 +200,13 @@ namespace MWLua
}
for (ObjectId id : mActorAddedEvents)
- mGlobalScripts.actorActive(GObject(id, objectRegistry));
+ {
+ GObject obj(id, objectRegistry);
+ if (obj.isValid())
+ mGlobalScripts.actorActive(obj);
+ else
+ Log(Debug::Verbose) << "Can not call onActorActive engine handler: object" << idToString(id) << " is already removed";
+ }
mActorAddedEvents.clear();
if (!mWorldView.isPaused())