}
}
}
+
+ {
+ Dali::Mutex::ScopedLock lock( mMutex );
+
+ auto triggeredHandler = std::find( mTriggeredHandlers.begin(), mTriggeredHandlers.end(), &handler );
+ if( triggeredHandler != mTriggeredHandlers.end() )
+ {
+ mTriggeredHandlers.erase( triggeredHandler );
+ }
+ }
}
void TizenVectorAnimationManager::TriggerEvent( TizenVectorAnimationEventHandler& handler )
OnEventTriggered();
}
+// This function is called in the main thread.
void TizenVectorAnimationManager::OnEventTriggered()
{
- Dali::Mutex::ScopedLock lock( mMutex );
+ std::vector< TizenVectorAnimationEventHandler* > handlers;
- for( auto&& iter : mTriggeredHandlers )
{
- iter->NotifyEvent();
+ Dali::Mutex::ScopedLock lock( mMutex );
+
+ // Copy the list to the local variable and clear
+ handlers = mTriggeredHandlers;
+ mTriggeredHandlers.clear();
}
- mTriggeredHandlers.clear();
+ for( auto&& iter : handlers )
+ {
+ iter->NotifyEvent();
+ }
}
} // namespace Plugin
TizenVectorAnimationManager::Get().AddEventHandler( *this );
- DALI_LOG_RELEASE_INFO( "TizenVectorAnimationRenderer::Initialize: file [%s] [%p]\n", url.c_str(), this );
+ DALI_LOG_ERROR( "TizenVectorAnimationRenderer::Initialize: file [%s] [%p]\n", url.c_str(), this );
return true;
}
SetShader();
}
- DALI_LOG_RELEASE_INFO( "TizenVectorAnimationRenderer::SetRenderer [%p]\n", this );
+ DALI_LOG_ERROR( "TizenVectorAnimationRenderer::SetRenderer [%p]\n", this );
}
void TizenVectorAnimationRenderer::SetSize( uint32_t width, uint32_t height )
if( mWidth == width && mHeight == height )
{
- DALI_LOG_RELEASE_INFO( "TizenVectorAnimationRenderer::SetSize: Same size (%d, %d) [%p]\n", mWidth, mHeight, this );
+ DALI_LOG_ERROR( "TizenVectorAnimationRenderer::SetSize: Same size (%d, %d) [%p]\n", mWidth, mHeight, this );
return;
}
mResourceReady = false;
- DALI_LOG_RELEASE_INFO( "TizenVectorAnimationRenderer::SetSize: width = %d, height = %d [%p]\n", mWidth, mHeight, this );
+ DALI_LOG_ERROR( "TizenVectorAnimationRenderer::SetSize: width = %d, height = %d [%p]\n", mWidth, mHeight, this );
}
bool TizenVectorAnimationRenderer::Render( uint32_t frameNumber )
TizenVectorAnimationManager::Get().TriggerEvent( *this );
- DALI_LOG_RELEASE_INFO( "TizenVectorAnimationRenderer::Render: Resource ready [current = %d] [%p]\n", frameNumber, this );
+ DALI_LOG_ERROR( "TizenVectorAnimationRenderer::Render: Resource ready [current = %d] [%p]\n", frameNumber, this );
}
+ DALI_LOG_ERROR( "TizenVectorAnimationRenderer::Render: current = %d [%p]\n", frameNumber, this );
+
return true;
}
width = mDefaultWidth;
height = mDefaultHeight;
- DALI_LOG_RELEASE_INFO( "TizenVectorAnimationRenderer::GetDefaultSize: width = %d, height = %d [%p]\n", width, height, this );
+ DALI_LOG_ERROR( "TizenVectorAnimationRenderer::GetDefaultSize: width = %d, height = %d [%p]\n", width, height, this );
}
void TizenVectorAnimationRenderer::GetLayerInfo( Property::Map& map ) const
if( mResourceReadyTriggered )
{
- DALI_LOG_RELEASE_INFO( "TizenVectorAnimationRenderer::NotifyEvent: Set Texture [%p]\n", this );
+ DALI_LOG_ERROR( "TizenVectorAnimationRenderer::NotifyEvent: Set Texture [%p]\n", this );
// Set texture
if( mRenderer )