summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfvogelnew1@free.fr <fvogel>2014-12-05 20:36:25 (GMT)
committerfvogelnew1@free.fr <fvogel>2014-12-05 20:36:25 (GMT)
commit36f4e252427bd066068c162fd7951f10840968bb (patch)
treeb31ad5b07ecf433617378f20b77ce8270f9f2049
parent1cf5849a4cf8e8b32cdbe8475b9d4cd140e40478 (diff)
parent0042a0ad529425168e39b59925371db0b4e835d8 (diff)
downloadtk-36f4e252427bd066068c162fd7951f10840968bb.zip
tk-36f4e252427bd066068c162fd7951f10840968bb.tar.gz
tk-36f4e252427bd066068c162fd7951f10840968bb.tar.bz2
Merged from branch bug-7703f947aa
-rw-r--r--generic/tkTextDisp.c8
-rw-r--r--tests/textDisp.test21
2 files changed, 26 insertions, 3 deletions
diff --git a/generic/tkTextDisp.c b/generic/tkTextDisp.c
index 3d442af..851ee3e 100644
--- a/generic/tkTextDisp.c
+++ b/generic/tkTextDisp.c
@@ -3382,7 +3382,8 @@ TkTextFindDisplayLineEnd(
* of the original index within its display
* line. */
{
- if (!end && indexPtr->byteIndex == 0) {
+ if (!end && indexPtr->byteIndex == 0
+ && !TkTextIsElided(textPtr, indexPtr, NULL)) {
/*
* Nothing to do.
*/
@@ -3461,8 +3462,9 @@ TkTextFindDisplayLineEnd(
* this now.
*/
- *xOffset = DlineXOfIndex(textPtr, dlPtr,
- indexPtr->byteIndex - dlPtr->index.byteIndex);
+ *xOffset = DlineXOfIndex(textPtr, dlPtr,
+ TkTextIndexCount(textPtr, &dlPtr->index, indexPtr,
+ COUNT_INDICES));
}
if (end) {
/*
diff --git a/tests/textDisp.test b/tests/textDisp.test
index fff52d4..c3ed43f 100644
--- a/tests/textDisp.test
+++ b/tests/textDisp.test
@@ -2065,6 +2065,27 @@ test textDisp-16.40 {text count -xpixels} {
[.t count -xpixels 1.0 "1.0 displaylineend"] \
[.t count -xpixels 1.0 end]
} {35 -35 0 42 42 42 0}
+test textDisp-16.41 {text count -xpixels with indices in elided lines} {
+ set res {}
+ .t delete 1.0 end
+ for {set i 1} {$i < 40} {incr i} {
+ .t insert end [string repeat "Line $i" 20]
+ .t insert end "\n"
+ }
+ .t configure -wrap none
+ .t tag add hidden 5.15 20.15
+ .t tag configure hidden -elide true
+ lappend res [.t count -xpixels 5.15 6.0] \
+ [.t count -xpixels 5.15 6.1] \
+ [.t count -xpixels 6.0 6.1] \
+ [.t count -xpixels 6.1 6.2] \
+ [.t count -xpixels 6.1 6.0] \
+ [.t count -xpixels 6.0 7.0] \
+ [.t count -xpixels 6.1 7.1] \
+ [.t count -xpixels 15.0 20.15] \
+ [.t count -xpixels 20.15 20.16] \
+ [.t count -xpixels 20.16 20.15]
+} [list 0 0 0 0 0 0 0 0 $fixedWidth -$fixedWidth]
.t delete 1.0 end
foreach i {a b c d e f g h i j k l m n o p q r s t u v w x y z} {