diff options
author | volzhs <volzhs@gmail.com> | 2017-09-18 05:31:21 +0900 |
---|---|---|
committer | volzhs <volzhs@gmail.com> | 2017-09-18 05:31:21 +0900 |
commit | 7da0ec01c0ca5899cedcf383110c14e859be2af2 (patch) | |
tree | 30ac269f593b0c8dd9ce834c9cc9e9372da44fb8 | |
parent | d22ceeef1bec083d5e047458e88d97ca091cd1c5 (diff) |
Fix smooth scrolling in ScrollBar
fixes #11369
-rw-r--r-- | scene/gui/scroll_bar.cpp | 8 |
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) { |