summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfvogelnew1@free.fr <fvogel>2014-12-23 11:09:50 (GMT)
committerfvogelnew1@free.fr <fvogel>2014-12-23 11:09:50 (GMT)
commitd853624155b7d90cf508f49a97ddc2da995cf9a9 (patch)
tree4e563a756e76a25025837d3440c6ebdd9b5f13e3
parent85c5ba20fd1529cd52ce3ecab791845a294b847e (diff)
downloadtk-d853624155b7d90cf508f49a97ddc2da995cf9a9.zip
tk-d853624155b7d90cf508f49a97ddc2da995cf9a9.tar.gz
tk-d853624155b7d90cf508f49a97ddc2da995cf9a9.tar.bz2
Cherrypicked bug fix for Bug [c199ef90a6] - Wrong index returned by @x,y with elided lines at end of text
-rw-r--r--generic/tkTextDisp.c7
-rw-r--r--tests/textDisp.test2
2 files changed, 7 insertions, 2 deletions
diff --git a/generic/tkTextDisp.c b/generic/tkTextDisp.c
index 9d6a307..14f843b 100644
--- a/generic/tkTextDisp.c
+++ b/generic/tkTextDisp.c
@@ -6754,10 +6754,15 @@ DlineIndexOfX(
* We've reached the end of the text.
*/
+ TkTextIndexBackChars(NULL, indexPtr, 1, indexPtr, COUNT_INDICES);
return;
}
if (chunkPtr->nextPtr == NULL) {
- TkTextIndexBackChars(NULL, indexPtr, 1, indexPtr, COUNT_INDICES);
+ /*
+ * We've reached the end of the display line.
+ */
+
+ TkTextIndexBackChars(NULL, indexPtr, 1, indexPtr, COUNT_INDICES);
return;
}
chunkPtr = chunkPtr->nextPtr;
diff --git a/tests/textDisp.test b/tests/textDisp.test
index cab0ff6..6c21700 100644
--- a/tests/textDisp.test
+++ b/tests/textDisp.test
@@ -2558,7 +2558,7 @@ test textDisp-19.11.23 {TextWidgetCmd procedure, "index +displaylines"} {
[.t index "12.0 +2d lines"] [.t index "11.0 +2d lines"] \
[.t index "13.0 +2d lines"] [.t index "13.0 +3d lines"] \
[.t index "13.0 +4d lines"]
-} {16.17 16.33 16.28 16.46 16.28 16.49 16.65 17.0}
+} {16.17 16.33 16.28 16.46 16.28 16.49 16.65 16.72}
.t tag remove elide 1.0 end
test textDisp-19.11.24 {TextWidgetCmd procedure, "index +/-displaylines"} {
list [.t index "11.5 + -1 display lines"] \