Fix crash on incorrect object destruction event

#1920
This commit is contained in:
Wojtek Figat
2024-03-04 14:26:47 +01:00
parent 2175f46a10
commit 84d3103278

View File

@@ -852,10 +852,12 @@ void ScriptingObjectReferenceBase::OnSet(ScriptingObject* object)
void ScriptingObjectReferenceBase::OnDeleted(ScriptingObject* obj)
{
ASSERT(_object == obj);
_object->Deleted.Unbind<ScriptingObjectReferenceBase, &ScriptingObjectReferenceBase::OnDeleted>(this);
_object = nullptr;
Changed();
if (_object == obj)
{
_object->Deleted.Unbind<ScriptingObjectReferenceBase, &ScriptingObjectReferenceBase::OnDeleted>(this);
_object = nullptr;
Changed();
}
}
ScriptingObject* Scripting::FindObject(Guid id, MClass* type)