From 75df5f04685c47c8f74ac508210b4e278cd660a3 Mon Sep 17 00:00:00 2001 From: Dae young Ryu Date: Fri, 7 Jun 2013 19:38:52 +0900 Subject: [PATCH] fixed bug: crashed by evas_object_image_source_get() Change-Id: Ie4870172933b8ff6d01d3e991a8431ec81408274 Signed-off-by: Dae young Ryu --- src/ui/animations/FUiAnim_VisualElementImpl.cpp | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) 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) { -- 2.7.4