From a6c84ba46ba6fdbc4d426916fae067f8af6ef1e4 Mon Sep 17 00:00:00 2001 From: fvogel Date: Thu, 17 May 2012 14:30:38 +0000 Subject: [Bug 1630254]: missing scrolling of text widget when from a -startline == -endline initial state it is configured to display a non-empty part of it --- ChangeLog | 6 ++++++ generic/tkTextDisp.c | 17 +++++++++++++++-- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index f2059ce..3668ef5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2012-05-?? Francois Vogel + + * generic/tkTextDisp.c: [Bug 1630254]: missing scrolling of text widget + when from a -startline == -endline initial state it is configured to display + a non-empty part of it + 2012-05-09 Jan Nijtmans * win/tkWinWm.c: Change TkpWmSetState signature to match UNIX, diff --git a/generic/tkTextDisp.c b/generic/tkTextDisp.c index d0cd4d2..13695e8 100644 --- a/generic/tkTextDisp.c +++ b/generic/tkTextDisp.c @@ -2005,8 +2005,21 @@ UpdateDisplayInfo( * widget. */ - lineNum = -1; - bytesToCount = 0; /* Stop compiler warning. */ + if (textPtr->start == textPtr->end) { + /* + * Empty peer widget. + */ + lineNum = -1; + bytesToCount = 0; /* Stop compiler warning. */ + } else { + /* + * Widget that was empty, but no longer is. + * (Bug 1630254) + */ + lineNum = TkBTreeNumLines(textPtr->sharedTextPtr->tree, + textPtr) - 1; + bytesToCount = INT_MAX; + } } else { lineNum = TkBTreeLinesTo(textPtr, dInfoPtr->dLinePtr->index.linePtr); -- cgit v0.12 From 80e6d08fdcb016f24f236760cef472a7465a12d5 Mon Sep 17 00:00:00 2001 From: fvogel Date: Thu, 17 May 2012 18:28:39 +0000 Subject: Better fix for bug-1630254 --- generic/tkTextDisp.c | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/generic/tkTextDisp.c b/generic/tkTextDisp.c index 13695e8..7891a2c 100644 --- a/generic/tkTextDisp.c +++ b/generic/tkTextDisp.c @@ -2005,21 +2005,9 @@ UpdateDisplayInfo( * widget. */ - if (textPtr->start == textPtr->end) { - /* - * Empty peer widget. - */ - lineNum = -1; - bytesToCount = 0; /* Stop compiler warning. */ - } else { - /* - * Widget that was empty, but no longer is. - * (Bug 1630254) - */ - lineNum = TkBTreeNumLines(textPtr->sharedTextPtr->tree, - textPtr) - 1; - bytesToCount = INT_MAX; - } + lineNum = TkBTreeNumLines(textPtr->sharedTextPtr->tree, + textPtr) - 1; + bytesToCount = INT_MAX; } else { lineNum = TkBTreeLinesTo(textPtr, dInfoPtr->dLinePtr->index.linePtr); -- cgit v0.12