summaryrefslogtreecommitdiff
path: root/scene
diff options
context:
space:
mode:
authorvolzhs <volzhs@gmail.com>2017-09-18 05:31:21 +0900
committervolzhs <volzhs@gmail.com>2017-09-18 05:31:21 +0900
commit7da0ec01c0ca5899cedcf383110c14e859be2af2 (patch)
tree30ac269f593b0c8dd9ce834c9cc9e9372da44fb8 /scene
parentd22ceeef1bec083d5e047458e88d97ca091cd1c5 (diff)
Fix smooth scrolling in ScrollBar
fixes #11369
Diffstat (limited to 'scene')
-rw-r--r--scene/gui/scroll_bar.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/scene/gui/scroll_bar.cpp b/scene/gui/scroll_bar.cpp
index 16d1b320b7..41f4beb1c9 100644
--- a/scene/gui/scroll_bar.cpp
+++ b/scene/gui/scroll_bar.cpp
@@ -106,9 +106,9 @@ void ScrollBar::_gui_input(Ref<InputEvent> p_event) {
if (ofs < grabber_ofs) {
if (scrolling) {
- target_scroll = target_scroll - get_page();
+ target_scroll = CLAMP(target_scroll - get_page(), get_min(), get_max() - get_page());
} else {
- target_scroll = get_value() - get_page();
+ target_scroll = CLAMP(get_value() - get_page(), get_min(), get_max() - get_page());
}
if (smooth_scroll_enabled) {
@@ -130,9 +130,9 @@ void ScrollBar::_gui_input(Ref<InputEvent> p_event) {
update();
} else {
if (scrolling) {
- target_scroll = target_scroll + get_page();
+ target_scroll = CLAMP(target_scroll + get_page(), get_min(), get_max() - get_page());
} else {
- target_scroll = get_value() + get_page();
+ target_scroll = CLAMP(get_value() + get_page(), get_min(), get_max() - get_page());
}
if (smooth_scroll_enabled) {