X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Ftext%2Fvisual-model-impl.cpp;h=e359dc7204ad15c8b06a9cfa8ab34d82a434c54f;hb=d319327a918acb5e8e662ec13e70777f3d4e7396;hp=5373a6a7edaf00dd6ed30c52c29da720cf5d7849;hpb=3baabe4bfe7b0201a990f03e24b7bed5ed049c29;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/text/visual-model-impl.cpp b/dali-toolkit/internal/text/visual-model-impl.cpp index 5373a6a..e359dc7 100755 --- a/dali-toolkit/internal/text/visual-model-impl.cpp +++ b/dali-toolkit/internal/text/visual-model-impl.cpp @@ -264,18 +264,21 @@ void VisualModel::GetLinesOfGlyphRange( LineRun* lines, LineIndex VisualModel::GetLineOfCharacter( CharacterIndex characterIndex ) { - // 1) Check first in the cached line. + // 1) Check line is empty or not. + if( mLines.Empty() ) + { + return 0u; + } + // 2) Check in the cached line. const LineRun& lineRun = *( mLines.Begin() + mCachedLineIndex ); - if( ( lineRun.characterRun.characterIndex <= characterIndex ) && ( characterIndex < lineRun.characterRun.characterIndex + lineRun.characterRun.numberOfCharacters ) ) { return mCachedLineIndex; } - // 2) Is not in the cached line. Check in the other lines. - + // 3) Is not in the cached line. Check in the other lines. LineIndex index = characterIndex < lineRun.characterRun.characterIndex ? 0u : mCachedLineIndex + 1u; for( Vector::ConstIterator it = mLines.Begin() + index,