Merge "Change BuildRequires of dali2-toolkit to Requires" into devel/master
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / visuals / animated-image / image-cache.cpp
index 1d0db6f..cccb085 100644 (file)
@@ -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