summaryrefslogtreecommitdiffstats
path: root/generic/tkTextDisp.c
diff options
context:
space:
mode:
authorfvogelnew1@free.fr <fvogel>2015-12-26 21:19:12 (GMT)
committerfvogelnew1@free.fr <fvogel>2015-12-26 21:19:12 (GMT)
commitbee96b5b92e76e4da23bc718dc20f2ddff1a7428 (patch)
treedabc381f3aef4f0c1e9acaf0a58e0d463d98f7ff /generic/tkTextDisp.c
parentd8d64bc8b42e94af4a2de7bb16769304a5a1ff9b (diff)
parentea69f724c678c5705c7004af51439be38bb08441 (diff)
downloadtk-bee96b5b92e76e4da23bc718dc20f2ddff1a7428.zip
tk-bee96b5b92e76e4da23bc718dc20f2ddff1a7428.tar.gz
tk-bee96b5b92e76e4da23bc718dc20f2ddff1a7428.tar.bz2
Fixed bug [2f78c7c5ea] - text widget segfault with tablelist
Diffstat (limited to 'generic/tkTextDisp.c')
-rw-r--r--generic/tkTextDisp.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/generic/tkTextDisp.c b/generic/tkTextDisp.c
index eb479b2..a57c24b 100644
--- a/generic/tkTextDisp.c
+++ b/generic/tkTextDisp.c
@@ -4805,9 +4805,16 @@ TextRedrawTag(
/*
* Round up the starting position if it's before the first line visible on
- * the screen (we only care about what's on the screen).
+ * the screen (we only care about what's on the screen). Beware that the
+ * display info structure might need update, for instance if we arrived
+ * here from an 'after idle' script removing tags in a range whose
+ * display lines (and dInfo) were partially invalidated by a previous
+ * delete operation in the text widget.
*/
+ if (dInfoPtr->flags & DINFO_OUT_OF_DATE) {
+ UpdateDisplayInfo(textPtr);
+ }
dlPtr = dInfoPtr->dLinePtr;
if (dlPtr == NULL) {
return;