summaryrefslogtreecommitdiffstats
path: root/macosx/tkMacOSXDraw.c
diff options
context:
space:
mode:
authorculler <culler>2017-10-25 19:10:03 (GMT)
committerculler <culler>2017-10-25 19:10:03 (GMT)
commit18a0842ba8c41cedaa8621ca6bad17d537ec9106 (patch)
tree119c4e99d6b4d2239bb2bb08c436ec98ba6decd4 /macosx/tkMacOSXDraw.c
parentb6b19f3622bd8ec1fbf174042fd7e3b9152ca621 (diff)
downloadtk-18a0842ba8c41cedaa8621ca6bad17d537ec9106.zip
tk-18a0842ba8c41cedaa8621ca6bad17d537ec9106.tar.gz
tk-18a0842ba8c41cedaa8621ca6bad17d537ec9106.tar.bz2
Make a small change in the logic of DisplayText (for Mac only) which
causes all visible embedded windows to be redisplayed when they move. This obviates the need for TkScrollWindow to generate expose events.
Diffstat (limited to 'macosx/tkMacOSXDraw.c')
-rw-r--r--macosx/tkMacOSXDraw.c19
1 files changed, 0 insertions, 19 deletions
diff --git a/macosx/tkMacOSXDraw.c b/macosx/tkMacOSXDraw.c
index 91cfd03..c25f478 100644
--- a/macosx/tkMacOSXDraw.c
+++ b/macosx/tkMacOSXDraw.c
@@ -1533,7 +1533,6 @@ TkScrollWindow(
Drawable drawable = Tk_WindowId(tkwin);
MacDrawable *macDraw = (MacDrawable *) drawable;
TKContentView *view = (TKContentView *)TkMacOSXDrawableView(macDraw);
- TkWindow *winPtr = (TkWindow *)tkwin;
CGRect srcRect, dstRect;
HIShapeRef dmgRgn = NULL, extraRgn = NULL;
NSRect bounds, visRect, scrollSrc, scrollDst;
@@ -1575,24 +1574,6 @@ TkScrollWindow(
/* Scroll the rectangle. */
[view scrollRect:scrollSrc by:NSMakeSize(dx, -dy)];
-
- /*
- * If there are any subwindows we invalidate the window, in order
- * to generate an expose event for the entire window. This is
- * needed because the Text widget, which is the only one that calls
- * TkScrollWindow, does not maintain correct position data or
- * correctly map and unmap its subwindows while it is scrolling.
- * This makes it impossible for us to maintain valid clipping
- * regions for the Text widget, leading to "ghost windows"
- * appearing in former locations of subwindows where drawing is
- * still clipped after the subwindow has been moved somewhere else.
- * It seems that the only way to bring the subwindow position data
- * back into sync is to force a redraw of the entire window with
- * the expose event that will be issued here.
- */
- if (winPtr->childList != NULL) {
- TkMacOSXInvalidateWindow(macDraw, TK_WINDOW_ONLY);
- }
}
} else {
dmgRgn = HIShapeCreateEmpty();