Fixed bug in ImageActor::SetImage 27/64527/1
authorFerran Sole <ferran.sole@samsung.com>
Fri, 1 Apr 2016 13:39:13 +0000 (14:39 +0100)
committerFerran Sole <ferran.sole@samsung.com>
Fri, 1 Apr 2016 13:39:13 +0000 (14:39 +0100)
ImageActor would add a new texture to the vector of textures in the material
every time a new image was setted instead of updating the image handle of the
texture

Change-Id: I20aca8145521a8dbcdf509b0be169924ffe5d596

dali/internal/event/actors/image-actor-impl.cpp

index 246f518..2146cef 100644 (file)
@@ -212,7 +212,14 @@ void ImageActor::SetImage( ImagePtr& image )
     SamplerPtr sampler = Sampler::New();
     sampler->SetFilterMode( mMinFilter, mMagFilter );
 
-    mTextureIndex = mRenderer->GetMaterial()->AddTexture( image, "sTexture", sampler );
+    if( mTextureIndex != INVALID_TEXTURE_ID )
+    {
+      mRenderer->GetMaterial()->SetTextureImage( mTextureIndex, image.Get() );
+    }
+    else
+    {
+      mTextureIndex = mRenderer->GetMaterial()->AddTexture( image, "sTexture", sampler );
+    }
 
     if( mRendererIndex == INVALID_RENDERER_ID )
     {