X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Fevent%2Frendering%2Ftexture-impl.cpp;h=704ab4015128e23e010a2213dab6498452e84671;hb=1ed9dc0a49c98bccac37eb517503cce8a8591119;hp=d6392fb03d41b7dda305b34df73c0d6676a7a2df;hpb=18886773c1784185c7eaab5461caf555c5dfa8d5;p=platform%2Fcore%2Fuifw%2Fdali-core.git diff --git a/dali/internal/event/rendering/texture-impl.cpp b/dali/internal/event/rendering/texture-impl.cpp index d6392fb..704ab40 100644 --- a/dali/internal/event/rendering/texture-impl.cpp +++ b/dali/internal/event/rendering/texture-impl.cpp @@ -70,16 +70,19 @@ NewTexture::NewTexture( NativeImageInterfacePtr nativeImageInterface ) void NewTexture::Initialize() { - if( mNativeImage ) + if( EventThreadServices::IsCoreRunning() ) { - mRenderObject = new Render::NewTexture( mNativeImage ); - } - else - { - mRenderObject = new Render::NewTexture( mType, mFormat, mWidth, mHeight ); - } + if( mNativeImage ) + { + mRenderObject = new Render::NewTexture( mNativeImage ); + } + else + { + mRenderObject = new Render::NewTexture( mType, mFormat, mWidth, mHeight ); + } - AddTexture( mEventThreadServices.GetUpdateManager(), *mRenderObject ); + AddTexture( mEventThreadServices.GetUpdateManager(), *mRenderObject ); + } } NewTexture::~NewTexture() @@ -101,43 +104,46 @@ bool NewTexture::Upload( PixelDataPtr pixelData, unsigned int width, unsigned int height ) { bool result(false); - if( mNativeImage ) - { - DALI_LOG_ERROR( "OpenGLES does not support uploading data to native texture"); - } - else + if( EventThreadServices::IsCoreRunning() && mRenderObject ) { - unsigned int pixelDataSize = pixelData->GetWidth()*pixelData->GetHeight(); - if( pixelData->GetBuffer() == NULL || pixelDataSize == 0 ) + if( mNativeImage ) { - DALI_LOG_ERROR( "PixelData is empty"); + DALI_LOG_ERROR( "OpenGL ES does not support uploading data to native texture"); } else { - Pixel::Format pixelDataFormat = pixelData->GetPixelFormat(); - if( ( pixelDataFormat == mFormat ) || ( (pixelDataFormat == Pixel::RGB888 ) && ( mFormat == Pixel::RGBA8888 ) ) ) + unsigned int pixelDataSize = pixelData->GetWidth()*pixelData->GetHeight(); + if( pixelData->GetBuffer() == NULL || pixelDataSize == 0 ) { - if( pixelDataSize < width * height ) - { - DALI_LOG_ERROR( "Pixel data of an incorrect size when trying to update texture"); - } - else if( ( xOffset + width > ( mWidth / (1< ( mHeight / (1<GetPixelFormat(); + if( ( pixelDataFormat == mFormat ) || ( (pixelDataFormat == Pixel::RGB888 ) && ( mFormat == Pixel::RGBA8888 ) ) ) { - DALI_LOG_ERROR( "Texture update area out of bounds"); + if( pixelDataSize < width * height ) + { + DALI_LOG_ERROR( "PixelData of an incorrect size when trying to update texture"); + } + else if( ( xOffset + width > ( mWidth / (1< ( mHeight / (1<