X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fvisuals%2Fanimated-image%2Fimage-cache.cpp;h=78ca79633d31bc88566e6f3206e5ac5ce65881d5;hp=1d0db6f980d29476cb5ce40d946703c2d8515b2f;hb=b5dfb0468ead331593b706bb116d6a6aed97d88c;hpb=354a975a68a9989a45344f2a3d2827fcc716111f diff --git a/dali-toolkit/internal/visuals/animated-image/image-cache.cpp b/dali-toolkit/internal/visuals/animated-image/image-cache.cpp index 1d0db6f..78ca796 100644 --- a/dali-toolkit/internal/visuals/animated-image/image-cache.cpp +++ b/dali-toolkit/internal/visuals/animated-image/image-cache.cpp @@ -24,21 +24,30 @@ namespace Internal { ImageCache::ImageCache( TextureManager& textureManager, - UrlList& urlList, ImageCache::FrameReadyObserver& observer, unsigned int batchSize ) : mTextureManager( textureManager ), mObserver( observer ), - mImageUrls( urlList ), 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