X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Fimaging%2Fcommon%2Fgif-loading.cpp;h=a1424473aa0a98b7dbd57eaeb44690010b9fd310;hb=bb3f75ca29b3f9f76292a3e02c1c7fbc23ff5794;hp=6b0d709435cb8e915b2d059b55c5d4bd719bd52d;hpb=d4b5e04ef254fa25f7672bacb9cb0923a040d0ac;p=platform%2Fcore%2Fuifw%2Fdali-adaptor.git diff --git a/dali/internal/imaging/common/gif-loading.cpp b/dali/internal/imaging/common/gif-loading.cpp index 6b0d709..a142447 100644 --- a/dali/internal/imaging/common/gif-loading.cpp +++ b/dali/internal/imaging/common/gif-loading.cpp @@ -29,6 +29,7 @@ #include #include +#include #include #include #include @@ -1238,7 +1239,8 @@ struct GifLoading::Impl public: Impl(const std::string& url, bool isLocalResource) : mUrl(url), - mLoadSucceeded(true) + mLoadSucceeded(true), + mMutex() { loaderInfo.gifAccessor = nullptr; int error; @@ -1258,6 +1260,7 @@ public: LoaderInfo loaderInfo; ImageProperties imageProperties; bool mLoadSucceeded; + Mutex mMutex; }; AnimatedImageLoadingPtr GifLoading::New(const std::string& url, bool isLocalResource) @@ -1279,6 +1282,8 @@ bool GifLoading::LoadNextNFrames(uint32_t frameStartIndex, int count, std::vecto { int error; bool ret = false; + + Mutex::ScopedLock lock(mImpl->mMutex); if(!mImpl->mLoadSucceeded) { return false; @@ -1316,6 +1321,7 @@ Dali::Devel::PixelBuffer GifLoading::LoadFrame(uint32_t frameIndex) return pixelBuffer; } + Mutex::ScopedLock lock(mImpl->mMutex); DALI_LOG_INFO(gGifLoadingLogFilter, Debug::Concise, "LoadFrame( frameIndex:%d )\n", frameIndex); pixelBuffer = Dali::Devel::PixelBuffer::New(mImpl->imageProperties.w, mImpl->imageProperties.h, Dali::Pixel::RGBA8888);