From d63864a8d527ae6318bf1a021edad2bd767e4fb1 Mon Sep 17 00:00:00 2001 From: "Eunki, Hong" Date: Wed, 24 Jul 2024 14:24:47 +0900 Subject: [PATCH] Remove svace issue - initialize values for move constructor + don't use moved dali-vector Change-Id: Ia95809a8c4a1d837871c12a7d21f818255b39dfd Signed-off-by: Eunki, Hong --- dali-toolkit/internal/visuals/svg/svg-loader.h | 34 +++++++++++++++++++++----- 1 file changed, 28 insertions(+), 6 deletions(-) diff --git a/dali-toolkit/internal/visuals/svg/svg-loader.h b/dali-toolkit/internal/visuals/svg/svg-loader.h index 56e31e6..f9f6531 100644 --- a/dali-toolkit/internal/visuals/svg/svg-loader.h +++ b/dali-toolkit/internal/visuals/svg/svg-loader.h @@ -209,6 +209,7 @@ public: { SvgLoadInfo(SvgLoadId loadId, const VisualUrl& url, float dpi) : mId(loadId), + mTask(), mImageUrl(url), mDpi(dpi), mLoadState(LoadState::NOT_STARTED), @@ -222,9 +223,18 @@ public: } SvgLoadInfo(SvgLoadInfo&& info) noexcept // move constructor + : mId(info.mId), + mTask(std::move(info.mTask)), + mImageUrl(std::move(info.mImageUrl)), + mDpi(info.mDpi), + mLoadState(info.mLoadState), + mVectorImageRenderer(std::move(info.mVectorImageRenderer)), + mObservers(std::move(info.mObservers)), + mReferenceCount(1u) { - // Reuse move operator. - *this = std::move(info); + info.mTask.Reset(); + info.mVectorImageRenderer.Reset(); + info.mReferenceCount = 0; } SvgLoadInfo& operator=(SvgLoadInfo&& info) noexcept // move operator { @@ -246,7 +256,6 @@ public: info.mTask.Reset(); info.mVectorImageRenderer.Reset(); - info.mObservers.Clear(); info.mReferenceCount = 0; } return *this; @@ -279,6 +288,7 @@ public: { SvgRasterizeInfo(SvgRasterizeId rasterizeId, SvgLoadId loadId, uint32_t width, uint32_t height, bool attemptAtlasing) : mId(rasterizeId), + mTask(), mLoadId(loadId), mWidth(width), mHeight(height), @@ -295,9 +305,22 @@ public: { } SvgRasterizeInfo(SvgRasterizeInfo&& info) noexcept // move constructor + : mId(info.mId), + mTask(std::move(info.mTask)), + mLoadId(info.mLoadId), + mWidth(info.mWidth), + mHeight(info.mHeight), + mAttemptAtlasing(info.mAttemptAtlasing), + mRasterizeState(info.mRasterizeState), + mTextureSet(std::move(info.mTextureSet)), + mAtlasRect(std::move(info.mAtlasRect)), + mAtlasAttempted(info.mAtlasAttempted), + mObservers(std::move(info.mObservers)), + mReferenceCount(info.mReferenceCount) { - // Reuse move operator - *this = std::move(info); + info.mTask.Reset(); + info.mTextureSet.Reset(); + info.mReferenceCount = 0; } SvgRasterizeInfo& operator=(SvgRasterizeInfo&& info) noexcept // move operator { @@ -322,7 +345,6 @@ public: info.mTask.Reset(); info.mTextureSet.Reset(); - info.mObservers.Clear(); info.mReferenceCount = 0; } return *this; -- 2.7.4