Merge "Make sure that global variables are initialized lazily." into devel/master
[platform/core/uifw/dali-core.git] / dali / internal / update / render-tasks / scene-graph-camera.cpp
index 450c990..e4916b5 100644 (file)
@@ -48,7 +48,11 @@ namespace SceneGraph
 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)
@@ -353,14 +357,14 @@ Camera::Camera()
 
 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)