X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Ftext%2Fvisual-model-impl.cpp;h=e359dc7204ad15c8b06a9cfa8ab34d82a434c54f;hp=5373a6a7edaf00dd6ed30c52c29da720cf5d7849;hb=05456785d7bfcc34f1bee09df6b30ceb8f6ff24f;hpb=c20463e1d4a77117810c67adfec49bcdfab5efde;ds=sidebyside 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,