projects
/
platform
/
core
/
uifw
/
dali-toolkit.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix text visual issue
[platform/core/uifw/dali-toolkit.git]
/
dali-toolkit
/
internal
/
visuals
/
texture-manager-impl.cpp
diff --git
a/dali-toolkit/internal/visuals/texture-manager-impl.cpp
b/dali-toolkit/internal/visuals/texture-manager-impl.cpp
index
c6fc0c2
..
093954e
100644
(file)
--- a/
dali-toolkit/internal/visuals/texture-manager-impl.cpp
+++ b/
dali-toolkit/internal/visuals/texture-manager-impl.cpp
@@
-469,6
+469,10
@@
TextureManager::TextureId TextureManager::RequestLoadInternal(
if(encodedImageBuffer)
{
textureId = targetId;
if(encodedImageBuffer)
{
textureId = targetId;
+
+ // Increase EncodedImageBuffer reference during it contains mTextureInfoContainer.
+ UseExternalResource(url.GetUrl());
+
// Insert this buffer at mTextureInfoContainer.
// This buffer will decode at ImageLoaderThread.
bool preMultiply = (preMultiplyOnLoad == TextureManager::MultiplyOnLoad::MULTIPLY_ON_LOAD);
// Insert this buffer at mTextureInfoContainer.
// This buffer will decode at ImageLoaderThread.
bool preMultiply = (preMultiplyOnLoad == TextureManager::MultiplyOnLoad::MULTIPLY_ON_LOAD);
@@
-604,6
+608,11
@@
void TextureManager::Remove(const TextureManager::TextureId textureId, TextureUp
// If the state allows us to remove the TextureInfo data, we do so.
if(removeTextureInfo)
{
// If the state allows us to remove the TextureInfo data, we do so.
if(removeTextureInfo)
{
+ // If url location is BUFFER, decrease reference count of EncodedImageBuffer.
+ if(textureInfo.url.IsBufferResource())
+ {
+ RemoveExternalEncodedImageBuffer(textureInfo.url.GetUrl());
+ }
// Permanently remove the textureInfo struct.
mTextureInfoContainer.erase(mTextureInfoContainer.begin() + textureInfoIndex);
}
// Permanently remove the textureInfo struct.
mTextureInfoContainer.erase(mTextureInfoContainer.begin() + textureInfoIndex);
}