summaryrefslogtreecommitdiffstats
path: root/generic/tkTextDisp.c
diff options
context:
space:
mode:
authorKevin Walzer <kw@codebykevin.com>2014-08-16 00:52:12 (GMT)
committerKevin Walzer <kw@codebykevin.com>2014-08-16 00:52:12 (GMT)
commit42f946fb1df90d38c04c7b68cf1fd3aca9377d6f (patch)
treecc764bdecf38c9acc11fb11c0751d6afa7b3c0d2 /generic/tkTextDisp.c
parentab19054c699a4edb7222aafe4595c79a139d4fe4 (diff)
downloadtk-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.c11
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) {