X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Ftransition%2Ftransition-lifecycle-controller.cpp;h=e104adf5d04d1f3570e936ed7f9773507be38ece;hp=1a8c238547a1cb87918917e7a26c232ef824088e;hb=85accf2f38153274e9d8cb46d64b4927eeb4e67b;hpb=6ae6f36998b3be4efa1114e2df856e51628bf812 diff --git a/dali-toolkit/internal/transition/transition-lifecycle-controller.cpp b/dali-toolkit/internal/transition/transition-lifecycle-controller.cpp index 1a8c238..e104adf 100644 --- a/dali-toolkit/internal/transition/transition-lifecycle-controller.cpp +++ b/dali-toolkit/internal/transition/transition-lifecycle-controller.cpp @@ -30,13 +30,23 @@ namespace Toolkit { namespace Internal { +std::unique_ptr TransitionLifecycleController::mInstance = nullptr; +std::once_flag TransitionLifecycleController::mOnceFlag; + +TransitionLifecycleController& TransitionLifecycleController::GetInstance() +{ + std::call_once(mOnceFlag, []() + { mInstance.reset(new TransitionLifecycleController); }); + return *(mInstance.get()); +} + void TransitionLifecycleController::AddTransitions(Dali::Toolkit::TransitionSet transitions) { mTransitionList.push_back(transitions); transitions.FinishedSignal().Connect(this, &TransitionLifecycleController::RemoveTransitions); } -void TransitionLifecycleController::RemoveTransitions(Dali::Toolkit::TransitionSet &transitions) +void TransitionLifecycleController::RemoveTransitions(Dali::Toolkit::TransitionSet& transitions) { mTransitionList.erase(std::remove(mTransitionList.begin(), mTransitionList.end(), transitions)); }