Skip to content

Commit d829de5

Browse files
committed
Fixed crash on AngelScript exception using editor "kill on exception" option.
1 parent dd746e5 commit d829de5

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

source/main/scripting/ScriptEngine.cpp

+9-6
Original file line numberDiff line numberDiff line change
@@ -989,16 +989,19 @@ int ScriptEngine::setupScriptUnit(int unit_id)
989989

990990
void ScriptEngine::unloadScript(ScriptUnitId_t nid)
991991
{
992-
ROR_ASSERT(this->scriptUnitExists(nid));
993-
994992
if (this->scriptUnitExists(nid))
995993
{
996-
engine->DiscardModule(m_script_units[nid].scriptModule->GetName());
997-
m_script_units.erase(nid);
998-
if (m_terrain_script_unit == nid)
994+
if (m_script_units[nid].scriptModule != nullptr)
999995
{
1000-
m_terrain_script_unit = SCRIPTUNITID_INVALID;
996+
engine->DiscardModule(m_script_units[nid].scriptModule->GetName());
997+
m_script_units[nid].scriptModule = nullptr;
1001998
}
999+
m_script_units.erase(nid);
1000+
}
1001+
1002+
if (m_terrain_script_unit == nid)
1003+
{
1004+
m_terrain_script_unit = SCRIPTUNITID_INVALID;
10021005
}
10031006
}
10041007

0 commit comments

Comments
 (0)