if(IsSynchronousLoadingRequired() && mImageUrl.IsLocalResource())
{
mLoadingTask->Process();
- mLoadingTask.Reset(); // We don't need it now
+ if(!mLoadingTask->HasSucceeded())
+ {
+ mLoadFailed = true;
+ }
+ mLoadingTask.Reset(); // We don't need it anymore.
}
else
{
{
mRasterizingTask->Process();
ApplyRasterizedImage(mRasterizingTask);
- mRasterizingTask.Reset(); // We don't need it now
+ mRasterizingTask.Reset(); // We don't need it anymore.
}
else
{
ResourceReady(Toolkit::Visual::ResourceStatus::FAILED);
}
+
+ // We don't need to keep tasks anymore. reset now.
+ if(task == mLoadingTask)
+ {
+ mLoadingTask.Reset();
+ }
+ if(task == mRasterizingTask)
+ {
+ mRasterizingTask.Reset();
+ }
}
void SvgVisual::OnSetTransform()