From: Dae young Ryu Date: Fri, 7 Jun 2013 10:38:52 +0000 (+0900) Subject: fixed bug: crashed by evas_object_image_source_get() X-Git-Tag: submit/tizen_2.2/20130714.153149~604 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=75df5f04685c47c8f74ac508210b4e278cd660a3;p=framework%2Fosp%2Fuifw.git fixed bug: crashed by evas_object_image_source_get() Change-Id: Ie4870172933b8ff6d01d3e991a8431ec81408274 Signed-off-by: Dae young Ryu --- diff --git a/src/ui/animations/FUiAnim_VisualElementImpl.cpp b/src/ui/animations/FUiAnim_VisualElementImpl.cpp index aab1a74..ff4076c 100644 --- a/src/ui/animations/FUiAnim_VisualElementImpl.cpp +++ b/src/ui/animations/FUiAnim_VisualElementImpl.cpp @@ -6090,17 +6090,18 @@ _VisualElementImpl::CaptureI(Canvas& outputCanvas, const FloatRectangle& rectDes point.y = rectDest.y + bounds.y; outputCanvas.DrawBitmap(point, bitmap); delete pCanvas; + } #else if (__pSharedData->pSurface) { - BufferInfo info; - __pSharedData->pSurface->GetBufferInfo(info); - - _VisualElementSurfaceImpl* pSurfImpl = _VisualElementSurfaceImpl::GetInstance(*__pSharedData->pSurface); + _EflVisualElementSurfaceImpl* pSurfImpl = dynamic_cast<_EflVisualElementSurfaceImpl*>(_VisualElementSurfaceImpl::GetInstance(*__pSharedData->pSurface)); - if(pSurfImpl && pSurfImpl->GetNativeHandle()) + if(pSurfImpl && pSurfImpl->GetNativeHandle() && pSurfImpl->__isImageObject) { + BufferInfo info; + __pSharedData->pSurface->GetBufferInfo(info); + byte* pStart = (byte*)evas_object_image_data_get((Evas_Object*)pSurfImpl->GetNativeHandle(), false); if(pStart) @@ -6266,14 +6267,14 @@ _VisualElementImpl::CaptureI(Canvas& outputCanvas, const FloatRectangle& rectDes #else if (__pSharedData->pSurface) { - BufferInfo info; - __pSharedData->pSurface->GetBufferInfo(info); - _VisualElementSurfaceImpl* pSurfImpl = _VisualElementSurfaceImpl::GetInstance(*__pSharedData->pSurface); + _EflVisualElementSurfaceImpl* pSurfImpl = dynamic_cast<_EflVisualElementSurfaceImpl*>(_VisualElementSurfaceImpl::GetInstance(*__pSharedData->pSurface)); - if(pSurfImpl && pSurfImpl->GetNativeHandle()) + if(pSurfImpl && pSurfImpl->GetNativeHandle() && pSurfImpl->__isImageObject) { byte* pStart = (byte*)evas_object_image_data_get((Evas_Object*)pSurfImpl->GetNativeHandle(), false); + BufferInfo info; + __pSharedData->pSurface->GetBufferInfo(info); if(pStart) {