summaryrefslogtreecommitdiffstats
path: root/macosx/tkMacOSXScrlbr.c
diff options
context:
space:
mode:
authorfvogel <fvogelnew1@free.fr>2018-09-24 20:07:05 (GMT)
committerfvogel <fvogelnew1@free.fr>2018-09-24 20:07:05 (GMT)
commit1d75d1e36bbb97c1559ef53ff41acfca8088274a (patch)
tree365d350e5c67544e3dfa8b4c7602e09c6d0afe1a /macosx/tkMacOSXScrlbr.c
parentce1fc458c9ce9c755fa91b34ddbe3b4af85a49e2 (diff)
parent0ce97290a9b89ab6698de34194b7a4dfc64255ee (diff)
downloadtk-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.c21
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;
}