diff options
author | fvogel <fvogelnew1@free.fr> | 2018-09-24 20:07:05 (GMT) |
---|---|---|
committer | fvogel <fvogelnew1@free.fr> | 2018-09-24 20:07:05 (GMT) |
commit | 1d75d1e36bbb97c1559ef53ff41acfca8088274a (patch) | |
tree | 365d350e5c67544e3dfa8b4c7602e09c6d0afe1a /macosx/tkMacOSXScrlbr.c | |
parent | ce1fc458c9ce9c755fa91b34ddbe3b4af85a49e2 (diff) | |
parent | 0ce97290a9b89ab6698de34194b7a4dfc64255ee (diff) | |
download | tk-1d75d1e36bbb97c1559ef53ff41acfca8088274a.zip tk-1d75d1e36bbb97c1559ef53ff41acfca8088274a.tar.gz tk-1d75d1e36bbb97c1559ef53ff41acfca8088274a.tar.bz2 |
Merge bugfix branch bug-050d1ea747 (scrollbar-3.50, 6.11, 6.12, 6.25, 6.39 tests fail on macOS)
Diffstat (limited to 'macosx/tkMacOSXScrlbr.c')
-rw-r--r-- | macosx/tkMacOSXScrlbr.c | 21 |
1 files changed, 8 insertions, 13 deletions
diff --git a/macosx/tkMacOSXScrlbr.c b/macosx/tkMacOSXScrlbr.c index cb57a9b..65dc099 100644 --- a/macosx/tkMacOSXScrlbr.c +++ b/macosx/tkMacOSXScrlbr.c @@ -382,25 +382,20 @@ TkpScrollbarPosition( * has to do is re-draw itself. */ - int length, fieldlength, width, tmp; + int length, width, tmp; register const int inset = scrollPtr->inset; - register const int arrowSize = scrollPtr->arrowLength + inset; if (scrollPtr->vertical) { length = Tk_Height(scrollPtr->tkwin); - fieldlength = length - 2 * arrowSize; width = Tk_Width(scrollPtr->tkwin); } else { tmp = x; x = y; y = tmp; length = Tk_Width(scrollPtr->tkwin); - fieldlength = length - 2 * arrowSize; width = Tk_Height(scrollPtr->tkwin); } - fieldlength = fieldlength < 0 ? 0 : fieldlength; - if (x<inset || x>=width-inset || y<inset || y>=length-inset) { return OUTSIDE; } @@ -410,19 +405,19 @@ TkpScrollbarPosition( * TkpDisplayScrollbar. Be sure to keep the two consistent. */ + if (y < inset + scrollPtr->arrowLength) { + return TOP_ARROW; + } if (y < scrollPtr->sliderFirst) { return TOP_GAP; } - if (y < scrollPtr->sliderLast) { + if (y < scrollPtr->sliderLast){ return SLIDER; } - if (y < fieldlength){ - return BOTTOM_GAP; - } - if (y < fieldlength + arrowSize) { - return TOP_ARROW; + if (y >= length - (scrollPtr->arrowLength + inset)) { + return BOTTOM_ARROW; } - return BOTTOM_ARROW; + return BOTTOM_GAP; } |