mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2026-01-16 03:23:15 +01:00
Fix premature deletion of dependencies (#5952)
In particular, the object repository can potentially be deleted before the object manager is deleted. This causes a crash when the object manager is deleted because it requires the object repository within the destructor.
This commit is contained in:
@@ -698,17 +698,17 @@ private:
|
||||
}
|
||||
};
|
||||
|
||||
static std::unique_ptr<ObjectRepository> _objectRepository;
|
||||
static ObjectRepository * _objectRepository = nullptr;
|
||||
|
||||
IObjectRepository * CreateObjectRepository(IPlatformEnvironment * env)
|
||||
{
|
||||
_objectRepository = std::unique_ptr<ObjectRepository>(new ObjectRepository(env));
|
||||
return _objectRepository.get();
|
||||
_objectRepository = new ObjectRepository(env);
|
||||
return _objectRepository;
|
||||
}
|
||||
|
||||
IObjectRepository * GetObjectRepository()
|
||||
{
|
||||
return _objectRepository.get();
|
||||
return _objectRepository;
|
||||
}
|
||||
|
||||
bool IsObjectCustom(const ObjectRepositoryItem * object)
|
||||
|
||||
Reference in New Issue
Block a user