X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fvisuals%2Fanimated-image%2Fimage-cache.cpp;h=cccb0857221731ffc25b4372d3191c7349252333;hb=b8da2e53925b9abb9fa362560069e8ca4aa62f81;hp=1d0db6f980d29476cb5ce40d946703c2d8515b2f;hpb=354a975a68a9989a45344f2a3d2827fcc716111f;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/visuals/animated-image/image-cache.cpp b/dali-toolkit/internal/visuals/animated-image/image-cache.cpp index 1d0db6f..cccb085 100644 --- a/dali-toolkit/internal/visuals/animated-image/image-cache.cpp +++ b/dali-toolkit/internal/visuals/animated-image/image-cache.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017 Samsung Electronics Co., Ltd. + * Copyright (c) 2021 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -22,23 +22,31 @@ namespace Toolkit { namespace Internal { - -ImageCache::ImageCache( TextureManager& textureManager, - UrlList& urlList, - ImageCache::FrameReadyObserver& observer, - unsigned int batchSize ) -: mTextureManager( textureManager ), - mObserver( observer ), - mImageUrls( urlList ), - mBatchSize( batchSize ), +ImageCache::ImageCache(TextureManager& textureManager, + ImageCache::FrameReadyObserver& observer, + unsigned int batchSize) +: mTextureManager(textureManager), + mObserver(observer), + mBatchSize(batchSize), mUrlIndex(0u), mWaitingForReadyFrame(false), - mRequestingLoad(false) + mRequestingLoad(false), + mTextureManagerAlive(true) { + mTextureManager.AddObserver(*this); } ImageCache::~ImageCache() { + if(mTextureManagerAlive) + { + mTextureManager.RemoveObserver(*this); + } +} + +void ImageCache::TextureManagerDestroyed() +{ + mTextureManagerAlive = false; } } //namespace Internal