summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2016-02-05 19:20:55 (GMT)
committerdgp <dgp@users.sourceforge.net>2016-02-05 19:20:55 (GMT)
commit4d5d07456b1dbac977bab6e1b594fe20bab56709 (patch)
treef39fbde47579b1d3856fd6511261e4623b24f782
parent098b03f8f4259f1767486350c21f5b7e11a6e06b (diff)
parent6dddb4fc012c00ae1c5465fcf5225fa618a6994c (diff)
downloadtk-4d5d07456b1dbac977bab6e1b594fe20bab56709.zip
tk-4d5d07456b1dbac977bab6e1b594fe20bab56709.tar.gz
tk-4d5d07456b1dbac977bab6e1b594fe20bab56709.tar.bz2
Fix crashing test case, textDisp-8.13
-rw-r--r--generic/tkTextDisp.c5
-rw-r--r--tests/textDisp.test9
2 files changed, 14 insertions, 0 deletions
diff --git a/generic/tkTextDisp.c b/generic/tkTextDisp.c
index 133a7d7..10f6414 100644
--- a/generic/tkTextDisp.c
+++ b/generic/tkTextDisp.c
@@ -4699,6 +4699,11 @@ TextChanged(
}
}
+ while ((lastPtr != NULL)
+ && (lastPtr->index.linePtr == index2Ptr->linePtr)) {
+ lastPtr = lastPtr->nextPtr;
+ }
+
/*
* Delete all the DLines from firstPtr up to but not including lastPtr.
*/
diff --git a/tests/textDisp.test b/tests/textDisp.test
index ac3aee0..6f26457 100644
--- a/tests/textDisp.test
+++ b/tests/textDisp.test
@@ -1192,6 +1192,15 @@ test textDisp-8.12 {TkTextChanged, moving the insert cursor redraws only past an
# cursor is in since this display line was just unlinked in (a).
} {{8.0 9.0} {8.0 12.0} {8.0 12.0} {3.0 8.0} {2.0 3.0}}
+test textDisp-8.13 {TkTextChanged, [06c1433906]} {
+ .t delete 1.0 end
+ .t insert 1.0 \nLine1\nLine2\n
+ update
+ .t insert 3.0 ""
+ .t delete 1.0 2.0
+ update idletasks
+} {}
+
test textDisp-9.1 {TkTextRedrawTag} {
.t configure -wrap char
.t delete 1.0 end