X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Ftexture-manager%2Ftexture-cache-manager.cpp;h=fc3ffde91254c86562798004e496cee5ad20ce5b;hb=1f54e044a62d534b40a3ba61b9c15a9eddd654d7;hp=c0e7ac128fe5cf1b35dc6bacb19b45cd4144cd11;hpb=ca51ee97baf5f41ecf741e22d865ff6c9e0bf769;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/texture-manager/texture-cache-manager.cpp b/dali-toolkit/internal/texture-manager/texture-cache-manager.cpp index c0e7ac1..fc3ffde 100644 --- a/dali-toolkit/internal/texture-manager/texture-cache-manager.cpp +++ b/dali-toolkit/internal/texture-manager/texture-cache-manager.cpp @@ -43,6 +43,7 @@ extern Debug::Filter* gTextureManagerLogFilter; ///< Define at texture-manager-i loadState == TextureManagerType::LoadState::MASK_APPLIED ? "MASK_APPLIED" : \ loadState == TextureManagerType::LoadState::UPLOADED ? "UPLOADED" : \ loadState == TextureManagerType::LoadState::CANCELLED ? "CANCELLED" : \ + loadState == TextureManagerType::LoadState::MASK_CANCELLED ? "MASK_CANCELLED" : \ loadState == TextureManagerType::LoadState::LOAD_FAILED ? "LOAD_FAILED" : \ "Unknown" // clang-format on @@ -169,7 +170,7 @@ TextureCacheManager::LoadState TextureCacheManager::GetTextureStateInternal(cons Texture TextureCacheManager::GetTexture(const TextureCacheManager::TextureId& textureId, uint32_t textureIndex) { - Texture texture; // empty handle + Texture texture; // empty handle TextureCacheIndex cacheIndex = GetCacheIndexFromId(textureId); switch(static_cast(cacheIndex.detailValue.type)) @@ -645,8 +646,8 @@ TextureCacheManager::TextureCacheIndex TextureCacheManager::AppendCache(const Te void TextureCacheManager::RemoveCache(TextureCacheManager::TextureInfo& textureInfo) { - TextureCacheIndex textureInfoIndex = GetCacheIndexFromId(textureInfo.textureId); - bool removeTextureInfo = false; + TextureCacheIndex textureInfoIndex = GetCacheIndexFromId(textureInfo.textureId); + bool removeTextureInfo = false; DALI_LOG_INFO(gTextureManagerLogFilter, Debug::Concise, "TextureCacheManager::Remove(textureId:%d) url:%s\n cacheIdx:%d loadState:%s reference count = %d\n", textureInfo.textureId, textureInfo.url.GetUrl().c_str(), textureInfoIndex.GetIndex(), GET_LOAD_STATE_STRING(textureInfo.loadState), textureInfo.referenceCount); @@ -665,12 +666,18 @@ void TextureCacheManager::RemoveCache(TextureCacheManager::TextureInfo& textureI } removeTextureInfo = true; } - else if(textureInfo.loadState == LoadState::LOADING || textureInfo.loadState == LoadState::MASK_APPLYING) + else if(textureInfo.loadState == LoadState::LOADING) { // We mark the textureInfo for removal. // Once the load has completed, this method will be called again. textureInfo.loadState = LoadState::CANCELLED; } + else if(textureInfo.loadState == LoadState::MASK_APPLYING) + { + // We mark the textureInfo for removal. + // Once the load has completed, this method will be called again. + textureInfo.loadState = LoadState::MASK_CANCELLED; + } else { // In other states, we are not waiting for a load so we are safe to remove the TextureInfo data.