Images that have an ON_DEMAND policy, such as ResourceImage and Atlas
delay getting their resource ticket until they are staged. Sampler
should not attempt to read the resource Id until the image has been
connected.
Change-Id: I20772d1505eb92256e937363f14c70ac73d238ab
Signed-off-by: David Steele <david.steele@partner.samsung.com>
mImageConnector.Set( image, OnStage() );
// sceneObject is being used in a separate thread; queue a message to set
mImageConnector.Set( image, OnStage() );
// sceneObject is being used in a separate thread; queue a message to set
- unsigned int resourceId = image->GetResourceId();
- SetTextureMessage( GetEventThreadServices(), *mSceneObject, resourceId );
+ if( mOnStage )
+ {
+ unsigned int resourceId = image->GetResourceId();
+ if( resourceId != 0 )
+ {
+ SetTextureMessage( GetEventThreadServices(), *mSceneObject, resourceId );
+ }
+ }
}
void Sampler::SetFilterMode( Dali::Sampler::FilterMode minFilter, Dali::Sampler::FilterMode magFilter )
}
void Sampler::SetFilterMode( Dali::Sampler::FilterMode minFilter, Dali::Sampler::FilterMode magFilter )
mOnStage = true;
mImageConnector.OnStageConnect();
mOnStage = true;
mImageConnector.OnStageConnect();
+
+ // sceneObject is being used in a separate thread; queue a message to set
+ unsigned int resourceId = mImageConnector.Get()->GetResourceId();
+ SetTextureMessage( GetEventThreadServices(), *mSceneObject, resourceId );
}
void Sampler::Disconnect()
}
void Sampler::Disconnect()
{
ImageConnector::ImageConnector()
{
ImageConnector::ImageConnector()