Adaptor::Get().RegisterProcessor( *this );
}
- mEventHandlers.push_back( &handler );
-
+ if( !mEventTrigger )
{
- Dali::Mutex::ScopedLock lock( mMutex );
-
- if( !mEventTrigger )
- {
- mEventTrigger = std::unique_ptr< EventThreadCallback >( new EventThreadCallback( MakeCallback( this, &TizenVectorAnimationManager::OnEventTriggered ) ) );
- }
+ mEventTrigger = std::unique_ptr< EventThreadCallback >( new EventThreadCallback( MakeCallback( this, &TizenVectorAnimationManager::OnEventTriggered ) ) );
}
+
+ mEventHandlers.push_back( &handler );
}
}
if( iter != mEventHandlers.end() )
{
mEventHandlers.erase( iter );
- }
- bool releaseEventTrigger = false;
-
- if( mEventHandlers.empty() )
- {
- if( Adaptor::IsAvailable() )
+ if( mEventHandlers.empty() )
{
- Adaptor::Get().UnregisterProcessor( *this );
- }
+ if( Adaptor::IsAvailable() )
+ {
+ Adaptor::Get().UnregisterProcessor( *this );
+ }
- releaseEventTrigger = true;
+ mEventTrigger.release();
+ }
}
{
{
mTriggeredHandlers.erase( triggeredHandler );
}
-
- if( releaseEventTrigger )
- {
- mEventTrigger.reset();
- }
}
}
{
mTriggeredHandlers.push_back( &handler );
- if( mEventTrigger )
- {
- mEventTrigger->Trigger();
- }
+ mEventTrigger->Trigger();
}
}