Change-Id: I1cd95b3e93d19f57444bea113ba81e99e5d76f12
void EcoreCallbackManager::RemoveIdleCallback( CallbackBase* callback )
{
void EcoreCallbackManager::RemoveIdleCallback( CallbackBase* callback )
{
- for( CallbackList::iterator it = mCallbackContainer.begin(),
- endIt = mCallbackContainer.end();
- it != endIt;
- ++it )
+ CallbackList::iterator it = mCallbackContainer.begin();
+
+ while( mCallbackContainer.end() != it )
{
CallbackData* data = *it;
if( data->mCallback == callback )
{
{
CallbackData* data = *it;
if( data->mCallback == callback )
{
- // remove callback data from the container.
- CallbackBase::Execute( *data->mRemoveFromContainerFunction, data );
-
+ it = mCallbackContainer.erase( it );
ecore_idler_del( data->mIdler );
}
ecore_idler_del( data->mIdler );
}