summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfvogel <fvogelnew1@free.fr>2014-12-23 10:59:48 (GMT)
committerfvogel <fvogelnew1@free.fr>2014-12-23 10:59:48 (GMT)
commit031d977db3ae61bf107687ef6a10dd235efbfb8b (patch)
tree5f281ddc5c231aa449f4520331c75ae4b66202c9
parent8936c6440460257c2739b3a6cdaf96c37d1cf04e (diff)
downloadtk-031d977db3ae61bf107687ef6a10dd235efbfb8b.zip
tk-031d977db3ae61bf107687ef6a10dd235efbfb8b.tar.gz
tk-031d977db3ae61bf107687ef6a10dd235efbfb8b.tar.bz2
Fixed wrong index returned by @x,y with elided lines at end of text - Bug [c199ef90a6]bug_c199ef90a6
-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 f16c45b..bb026af 100644
--- a/generic/tkTextDisp.c
+++ b/generic/tkTextDisp.c
@@ -6649,10 +6649,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 70c7208..ae294c6 100644
--- a/tests/textDisp.test
+++ b/tests/textDisp.test
@@ -2444,7 +2444,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"] \