/*
- * 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.
{
namespace Internal
{
-
-ImageCache::ImageCache( TextureManager& textureManager,
- ImageCache::FrameReadyObserver& observer,
- unsigned int batchSize )
-: mTextureManager( textureManager ),
- mObserver( observer ),
- 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