diff options
author | Kevin Walzer <kw@codebykevin.com> | 2015-04-09 02:00:59 (GMT) |
---|---|---|
committer | Kevin Walzer <kw@codebykevin.com> | 2015-04-09 02:00:59 (GMT) |
commit | d10216afc1dcddd76f93bcdbb6e87bdca8dc7453 (patch) | |
tree | 3d2c1b4ec2054fbe9fd8a6a5cd948ad5cc6d8c71 /generic/tkTextDisp.c | |
parent | f801eafc556ad7c6648d5da223a6563c99b998ca (diff) | |
download | tk-d10216afc1dcddd76f93bcdbb6e87bdca8dc7453.zip tk-d10216afc1dcddd76f93bcdbb6e87bdca8dc7453.tar.gz tk-d10216afc1dcddd76f93bcdbb6e87bdca8dc7453.tar.bz2 |
Re-working of internal Cocoa widget drawing routines, especially when resizing; fix rendering of scrollbar when resized or clipped; cleanup of button metrics; thanks to Marc Culler for extensive patches
Diffstat (limited to 'generic/tkTextDisp.c')
-rw-r--r-- | generic/tkTextDisp.c | 29 |
1 files changed, 13 insertions, 16 deletions
diff --git a/generic/tkTextDisp.c b/generic/tkTextDisp.c index bcbb03a..fc7b46b 100644 --- a/generic/tkTextDisp.c +++ b/generic/tkTextDisp.c @@ -3946,6 +3946,19 @@ DisplayText( * warnings. */ Tcl_Interp *interp; +#ifdef MAC_OSX_TK + /* + * If drawing is disabled, all we need to do is + * clear the REDRAW_PENDING flag. + */ + TkWindow *winPtr = (TkWindow *)(textPtr->tkwin); + MacDrawable *macWin = winPtr->privatePtr; + if (macWin && (macWin->flags & TK_DO_NOT_DRAW)){ + dInfoPtr->flags &= ~REDRAW_PENDING; + return; + } +#endif + if ((textPtr->tkwin == NULL) || (textPtr->flags & DESTROYED)) { /* * The widget has been deleted. Don't do anything. @@ -3961,14 +3974,6 @@ DisplayText( Tcl_SetVar2(interp, "tk_textRelayout", NULL, "", TCL_GLOBAL_ONLY); } - if ((textPtr->tkwin == NULL) || (textPtr->flags & DESTROYED)) { - /* - * The widget has been deleted. Don't do anything. - */ - - goto end; - } - if (!Tk_IsMapped(textPtr->tkwin) || (dInfoPtr->maxX <= dInfoPtr->x) || (dInfoPtr->maxY <= dInfoPtr->y)) { UpdateDisplayInfo(textPtr); @@ -3980,14 +3985,6 @@ DisplayText( Tcl_SetVar2(interp, "tk_textRedraw", NULL, "", TCL_GLOBAL_ONLY); } - if ((textPtr->tkwin == NULL) || (textPtr->flags & DESTROYED)) { - /* - * The widget has been deleted. Don't do anything. - */ - - goto end; - } - /* * Choose a new current item if that is needed (this could cause event * handlers to be invoked, hence the preserve/release calls and the loop, |