summaryrefslogtreecommitdiffstats
path: root/generic/tkText.c
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2012-01-19 19:53:34 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2012-01-19 19:53:34 (GMT)
commit6a1b23bb279925e25b7611184ad2915ff5043d8b (patch)
treef89178fd23eb2c6e8820b0e4024519aa7d1d6093 /generic/tkText.c
parent312e43120625077580d3ac4702bfa73fee6fb953 (diff)
parent2931e05764b25ec1ac949a503b9691b1b7391793 (diff)
downloadtk-6a1b23bb279925e25b7611184ad2915ff5043d8b.zip
tk-6a1b23bb279925e25b7611184ad2915ff5043d8b.tar.gz
tk-6a1b23bb279925e25b7611184ad2915ff5043d8b.tar.bz2
[Bug-3021557]: Moving the cursor in elided text freezes Tk
Diffstat (limited to 'generic/tkText.c')
-rw-r--r--generic/tkText.c14
1 files changed, 3 insertions, 11 deletions
diff --git a/generic/tkText.c b/generic/tkText.c
index 360240c..448cab1 100644
--- a/generic/tkText.c
+++ b/generic/tkText.c
@@ -920,7 +920,7 @@ TextWidgetObjCmd(
* We're going to count up all display lines in the logical
* line of 'indexFromPtr' up to, but not including the logical
* line of 'indexToPtr', and then subtract off what we didn't
- * what from 'from' and add on what we didn't count from 'to.
+ * want from 'from' and add on what we didn't count from 'to.
*/
while (index.linePtr != indexToPtr->linePtr) {
@@ -929,17 +929,9 @@ TextWidgetObjCmd(
/*
* We might have skipped past indexToPtr, if we have
* multiple logical lines in a single display line.
- * Therefore we iterate through each intermediate logical
- * line, just to check. Another approach would be just to
- * use TkTextIndexCmp on every while() iteration, but that
- * would be less efficient.
*/
-
- while (fromPtr != index.linePtr) {
- fromPtr = TkBTreeNextLine(textPtr, fromPtr);
- if (fromPtr == indexToPtr->linePtr) {
- break;
- }
+ if (TkTextIndexCmp(&index,indexToPtr) > 0) {
+ break;
}
}