diff options
author | dgp <dgp@users.sourceforge.net> | 2016-02-05 19:20:55 (GMT) |
---|---|---|
committer | dgp <dgp@users.sourceforge.net> | 2016-02-05 19:20:55 (GMT) |
commit | 4d5d07456b1dbac977bab6e1b594fe20bab56709 (patch) | |
tree | f39fbde47579b1d3856fd6511261e4623b24f782 | |
parent | 098b03f8f4259f1767486350c21f5b7e11a6e06b (diff) | |
parent | 6dddb4fc012c00ae1c5465fcf5225fa618a6994c (diff) | |
download | tk-4d5d07456b1dbac977bab6e1b594fe20bab56709.zip tk-4d5d07456b1dbac977bab6e1b594fe20bab56709.tar.gz tk-4d5d07456b1dbac977bab6e1b594fe20bab56709.tar.bz2 |
Fix crashing test case, textDisp-8.13
-rw-r--r-- | generic/tkTextDisp.c | 5 | ||||
-rw-r--r-- | tests/textDisp.test | 9 |
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 |