From: Yunji Park Date: Wed, 3 Apr 2013 07:08:47 +0000 (+0900) Subject: Fixed prevent X-Git-Tag: accepted/tizen_2.1/20130425.033138~494^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f4a5b84a3c7909156a0f81be40410ec50dad19bd;p=platform%2Fframework%2Fnative%2Fuifw.git Fixed prevent Change-Id: Ifb40533afba66ce3298b7337c1f4f9b4d69d5c68 --- diff --git a/src/graphics/text/FGrp_TextTextComposite.cpp b/src/graphics/text/FGrp_TextTextComposite.cpp index 80db4f8..39a3fc7 100644 --- a/src/graphics/text/FGrp_TextTextComposite.cpp +++ b/src/graphics/text/FGrp_TextTextComposite.cpp @@ -735,10 +735,7 @@ TextComposite::Draw(_CanvasImpl& canvasImpl, FloatRectangle& displayRect, int st } pTextElement = static_cast < TextElement* >(pEnum->GetCurrent()); - if (pTextElement == null) - { - break; - } + SysTryCatch(NID_GRP, pTextElement, r = E_SYSTEM, E_SYSTEM, "[E_SYSTEM] Fail to get element."); textIndexFromElementOffset = pTextElement->GetValue(SET_TEXT_OFFSET); currentLength = Math::Min(textLength, pTextElement->GetTextLength()); @@ -949,10 +946,7 @@ TextComposite::DrawWithBaseline(_CanvasImpl& canvasImpl, FloatRectangle& display } pTextElement = static_cast < TextElement* >(pEnum->GetCurrent()); - if (pTextElement == null) - { - break; - } + SysTryCatch(NID_GRP, pTextElement, r = E_SYSTEM, E_SYSTEM, "[E_SYSTEM] Fail to get element."); textIndexFromElementOffset = pTextElement->GetValue(SET_TEXT_OFFSET); currentLength = Math::Min(textLength, pTextElement->GetTextLength()); @@ -1023,6 +1017,7 @@ TextComposite::DrawBlock(_CanvasImpl& canvasImpl, const FloatRectangle& displayR _FloatPair currentGap; IEnumeratorT<_FloatPair >* pGapEnum = pGapList->GetEnumeratorN(); + for (int i = 0; i <= blockStartTextIndex; i++) { pGapEnum->MoveNext(); @@ -3489,7 +3484,7 @@ TextComposite::GetTextExtentList(TextLine* pTextLine) const else { _FontImpl* pFontImpl = _FontImpl::GetInstance(*const_cast < Font* >(pSimpleText->GetFont())); - SysTryReturn(NID_GRP, pFontImpl, E_SYSTEM, E_SYSTEM, "[E_SYSTEM] Fail to get native font instance."); + SysTryCatch(NID_GRP, pFontImpl, r = E_SYSTEM, E_SYSTEM, "[E_SYSTEM] Fail to get native font instance."); Collection::ArrayListT<_FloatPair> pCurrentElementGapListF; @@ -3551,6 +3546,11 @@ TextComposite::GetTextExtentList(TextLine* pTextLine) const Release(pEnum); return E_SUCCESS; + +CATCH: + Release(pEnum); + + return r; } int @@ -4993,6 +4993,8 @@ TextComposite::GetDisplayableText(FloatRectangle displayRect, TextObjectActionTy { int firstDisplayLineIndex = __pCurrentTextColumn->GetFirstDisplayLineIndex(); TextLine* pTextLine = __pCurrentTextColumn->GetTextLine(firstDisplayLineIndex); + SysTryReturn(NID_GRP, pTextLine, L"", E_INVALID_ARG, "[E_INVALID_ARG] The argument is invalid. (firstDisplayLineIndex = %d)", firstDisplayLineIndex); + int firstDisplayTextIndex = pTextLine->GetTextOffset(); int displayableTextLength = 0; int displayableLineCount = __pCurrentTextColumn->CalculateDisplayableLineCount(displayRect, action); @@ -5001,10 +5003,13 @@ TextComposite::GetDisplayableText(FloatRectangle displayRect, TextObjectActionTy for (int i = firstDisplayLineIndex; i < lastDisplayLineIndex; i++) { pTextLine = __pCurrentTextColumn->GetTextLine(i); + SysTryReturn(NID_GRP, pTextLine, L"", E_INVALID_ARG, "[E_INVALID_ARG] The argument is invalid. (line index = %d)", i); + displayableTextLength += pTextLine->GetTextLength(); } pTextLine = __pCurrentTextColumn->GetTextLine(lastDisplayLineIndex); + SysTryReturn(NID_GRP, pTextLine, L"", E_INVALID_ARG, "[E_INVALID_ARG] The argument is invalid. (lastDisplayLineIndex = %d)", lastDisplayLineIndex); int lineOffset = pTextLine->GetTextOffset(); int lineLength = pTextLine->GetTextLength(); @@ -5145,4 +5150,3 @@ TextComposite::UpdateTextSweepInfo(TextObjectSweepInfo* pTextSweepInfo) } }}} // Tizen::Graphics::_Text -