{
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