From: Eunki Hong Date: Fri, 20 Oct 2023 09:19:34 +0000 (+0000) Subject: Merge "Remove Rasterize task when svg load failed" into devel/master X-Git-Tag: dali_2.2.50~5 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=19922fc587b5d0d704a9499335897dfe900922d7;hp=18b449594fe333b1bcfce00a8e6cbdeda24616ea;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git Merge "Remove Rasterize task when svg load failed" into devel/master --- diff --git a/dali-toolkit/internal/visuals/svg/svg-visual.cpp b/dali-toolkit/internal/visuals/svg/svg-visual.cpp index fd7c3e2..3f280d1 100644 --- a/dali-toolkit/internal/visuals/svg/svg-visual.cpp +++ b/dali-toolkit/internal/visuals/svg/svg-visual.cpp @@ -339,16 +339,6 @@ void SvgVisual::ApplyRasterizedImage(SvgTaskPtr task) { SvgVisualPtr self = this; // Keep reference until this API finished - // We don't need to keep tasks anymore. reset now. - if(task == mLoadingTask) - { - mLoadingTask.Reset(); - } - if(task == mRasterizingTask) - { - mRasterizingTask.Reset(); - } - if(task->HasSucceeded()) { PixelData rasterizedPixelData = task->GetPixelData(); @@ -357,6 +347,16 @@ void SvgVisual::ApplyRasterizedImage(SvgTaskPtr task) task->GetRenderer().GetDefaultSize(mDefaultWidth, mDefaultHeight); } + // We don't need to keep tasks anymore. reset now. + if(task == mLoadingTask) + { + mLoadingTask.Reset(); + } + if(task == mRasterizingTask) + { + mRasterizingTask.Reset(); + } + // Rasterization success if(rasterizedPixelData && IsOnScene()) { @@ -429,6 +429,19 @@ void SvgVisual::ApplyRasterizedImage(SvgTaskPtr task) { mLoadFailed = true; + // Remove rasterizing task if we requested before. + if(mRasterizingTask) + { + Dali::AsyncTaskManager::Get().RemoveTask(mRasterizingTask); + mRasterizingTask.Reset(); + } + + // We don't need to keep tasks anymore. reset now. + if(task == mLoadingTask) + { + mLoadingTask.Reset(); + } + Actor actor = mPlacementActor.GetHandle(); if(actor) {