1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2026-01-16 03:23:15 +01:00

Fix ownership of loaded object data

This commit is contained in:
ζeh Matt
2021-09-03 13:43:06 +03:00
parent b2d0b54d13
commit 1f4f0c015c
4 changed files with 142 additions and 157 deletions

View File

@@ -266,18 +266,18 @@ public:
}
}
void RegisterLoadedObject(const ObjectRepositoryItem* ori, Object* object) override
void RegisterLoadedObject(const ObjectRepositoryItem* ori, std::unique_ptr<Object>&& object) override
{
ObjectRepositoryItem* item = &_items[ori->Id];
Guard::Assert(item->LoadedObject == nullptr, GUARD_LINE);
item->LoadedObject = object;
item->LoadedObject = std::move(object);
}
void UnregisterLoadedObject(const ObjectRepositoryItem* ori, Object* object) override
{
ObjectRepositoryItem* item = &_items[ori->Id];
if (item->LoadedObject == object)
if (item->LoadedObject.get() == object)
{
item->LoadedObject = nullptr;
}