diff options
Diffstat (limited to 'generic/tkTextDisp.c')
-rw-r--r-- | generic/tkTextDisp.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/generic/tkTextDisp.c b/generic/tkTextDisp.c index 6b6d305..4715864 100644 --- a/generic/tkTextDisp.c +++ b/generic/tkTextDisp.c @@ -4780,7 +4780,8 @@ TextRedrawTag( * the line containing the previous character. */ - if (curIndexPtr->byteIndex == 0) { + if ((curIndexPtr->byteIndex == 0) + && !TkTextIsElided(textPtr, curIndexPtr, NULL)) { dlPtr = FindDLine(textPtr, dlPtr, curIndexPtr); } else { TkTextIndex tmp; @@ -5036,7 +5037,8 @@ TkTextSetYView( */ textPtr->topIndex = *indexPtr; - if (indexPtr->byteIndex != 0) { + if (!(indexPtr->byteIndex == 0 + && !TkTextIsElided(textPtr, indexPtr, NULL))) { TkTextFindDisplayLineEnd(textPtr, &textPtr->topIndex, 0, NULL); } dInfoPtr->newTopPixelOffset = pickPlace; @@ -6179,13 +6181,11 @@ GetYPixelCount( /* * For the common case where this dlPtr is also the start of the logical - * line, we can return right away. Note the implicit assumption here that - * the start of a logical line is always the start of a display line (if - * the 'elide won't elide first newline' bug is fixed, this will no longer - * necessarily be true). + * line, we can return right away. */ - if (dlPtr->index.byteIndex == 0) { + if ((dlPtr->index.byteIndex == 0) + && !TkTextIsElided(textPtr, &dlPtr->index, NULL)) { return count; } |