namespace
{
//Memory pool used to allocate new camera. Memory used by this pool will be released when shutting down DALi
-MemoryPoolObjectAllocator<Camera> gCameraMemoryPool;
+MemoryPoolObjectAllocator<Camera>& GetCameraMemoryPool()
+{
+ static MemoryPoolObjectAllocator<Camera> gCameraMemoryPool;
+ return gCameraMemoryPool;
+}
template<typename T>
T Sign(T value)
Camera* Camera::New()
{
- return new(gCameraMemoryPool.AllocateRawThreadSafe()) Camera();
+ return new(GetCameraMemoryPool().AllocateRawThreadSafe()) Camera();
}
Camera::~Camera() = default;
void Camera::operator delete(void* ptr)
{
- gCameraMemoryPool.FreeThreadSafe(static_cast<Camera*>(ptr));
+ GetCameraMemoryPool().FreeThreadSafe(static_cast<Camera*>(ptr));
}
void Camera::SetType(Dali::Camera::Type type)