Call LoadTexture() for ReleasePolicy 33/237633/7
authorSunghyun Kim <scholb.kim@samsung.com>
Thu, 2 Jul 2020 04:57:58 +0000 (13:57 +0900)
committerSunghyun Kim <scholb.kim@samsung.com>
Wed, 8 Jul 2020 06:53:16 +0000 (15:53 +0900)
commit5af3c7c9147d2697cf2324738d357c52ce9598b9
tree03891082c18a690e5c48e2c585266bc03f56440e
parentb0a0aa8215fc520e9d05e5bbd855ef41a0c189bc
Call LoadTexture() for ReleasePolicy

When ReleasePolicy is not DETACHED, There are cases where the wrong
texture is seen.
To avoid this case, i added a patch.
Detailed description is added below.

Load Texture if mTextures is empty.
mTextures is already set, the mTexture can be used to create Renderer.
There are two cases mTextures is empty.
1. mTextureId == TextureManager::INVALID_TEXTURE_ID and mTextures is empty
   - Visual is on stage with LoadPolicy::ATTACHED
   - mTextureId != TextureManager::INVALID_TEXTURE_ID and mTextures is empty
   - If ReleasePolicy is DESTROYED, InitializeRenderer called every on stage called.
   - Then every resources those contained in Visual are Reset but mTextureId is remained when the Off stage time,
   - So, mTextures needed to be get from texture manager to created resources like mImpl->mRenderer.

Change-Id: Ice111ee467eaeba222eaa9063bde3b23ada484d4
automated-tests/src/dali-toolkit/utc-Dali-ImageVisual.cpp
dali-toolkit/internal/visuals/image/image-visual.cpp