when ImageView with gif used synchronosLoading, its animation stopped.
it is because image cache can't get probably imageCount.
so i fix them.
Change-Id: I56a54562ad99e40ca27e7cc47b0eee924414998f
void AnimatedImageVisual::StartFirstFrame(TextureSet& textureSet, uint32_t firstInterval)
{
DALI_LOG_INFO(gAnimImgLogFilter, Debug::Concise, "AnimatedImageVisual::StartFirstFrame()\n");
+ mFrameCount = mImageCache->GetTotalFrameCount();
mStartFirstFrame = false;
if(mImpl->mRenderer)
{
SetImageSize(textureSet);
}
-
return textureSet;
}
if(mStartFirstFrame)
{
- mFrameCount = mImageCache->GetTotalFrameCount();
StartFirstFrame(textureSet, interval);
}
else
textureSet = GetFrontTextureSet();
}
}
-
return textureSet;
}
{
// Synchronous loading is failed
mLoadState = TextureManager::LoadState::LOAD_FAILED;
+ return textureSet;
+ }
+
+ if(synchronousLoading)
+ {
+ if(DALI_UNLIKELY(mFrameCount != mAnimatedImageLoading.GetImageCount()))
+ {
+ mFrameCount = mAnimatedImageLoading.GetImageCount();
+ mImageUrls.resize(mFrameCount);
+ mIntervals.assign(mFrameCount, 0);
+ }
+ mIntervals[mQueue.Back().mFrameNumber] = mAnimatedImageLoading.GetFrameInterval(frameIndex);
}
return textureSet;