diff options
author | Kevin Walzer <kw@codebykevin.com> | 2014-08-16 00:52:12 (GMT) |
---|---|---|
committer | Kevin Walzer <kw@codebykevin.com> | 2014-08-16 00:52:12 (GMT) |
commit | 42f946fb1df90d38c04c7b68cf1fd3aca9377d6f (patch) | |
tree | cc764bdecf38c9acc11fb11c0751d6afa7b3c0d2 /generic/tkTextDisp.c | |
parent | ab19054c699a4edb7222aafe4595c79a139d4fe4 (diff) | |
download | tk-42f946fb1df90d38c04c7b68cf1fd3aca9377d6f.zip tk-42f946fb1df90d38c04c7b68cf1fd3aca9377d6f.tar.gz tk-42f946fb1df90d38c04c7b68cf1fd3aca9377d6f.tar.bz2 |
Fix for shimmering of buttons embedded when scrolled in text and canvas widgets; improvements in scrolling smoothness in text widget. Thanks to Marc Culler for patches.
Diffstat (limited to 'generic/tkTextDisp.c')
-rw-r--r-- | generic/tkTextDisp.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/generic/tkTextDisp.c b/generic/tkTextDisp.c index aebdcc6..8ceb3fa 100644 --- a/generic/tkTextDisp.c +++ b/generic/tkTextDisp.c @@ -3970,6 +3970,15 @@ DisplayText( UpdateDisplayInfo(textPtr); dInfoPtr->dLinesInvalidated = 0; +#ifdef MAC_OSX_TK + /* + * Make sure that unmapped subwindows really have been unmapped. + * If the unmap request is pending as an idle request, the window + * can get redrawn on top of the widget. + */ + while (Tcl_DoOneEvent(TCL_IDLE_EVENTS|TCL_DONT_WAIT)) {} +#endif + /* * See if it's possible to bring some parts of the screen up-to-date by * scrolling (copying from other parts of the screen). We have to be @@ -4035,7 +4044,7 @@ DisplayText( */ if ((y + height) > dInfoPtr->maxY) { - height = dInfoPtr->maxY -y; + height = dInfoPtr->maxY - y; } oldY = dlPtr->oldY; if (y < dInfoPtr->y) { |