summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRicardo Subtil <ricasubtil@gmail.com>2023-12-02 11:06:06 +0000
committerRicardo Subtil <ricasubtil@gmail.com>2023-12-02 11:06:06 +0000
commitfde51aeb28350dc75259c1995d4bee6c7c0ddc7a (patch)
treebc5a627b23a183767ff52af87afd409789f9bdbe
parent6afd320984cf14198368cc6c53752813a02169e3 (diff)
downloadredot-engine-fde51aeb28350dc75259c1995d4bee6c7c0ddc7a.tar.gz
Ensure slider grabs focus only when it can
-rw-r--r--scene/gui/slider.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/scene/gui/slider.cpp b/scene/gui/slider.cpp
index 8bb8eb1d30..586334a0b4 100644
--- a/scene/gui/slider.cpp
+++ b/scene/gui/slider.cpp
@@ -88,10 +88,14 @@ void Slider::gui_input(const Ref<InputEvent> &p_event) {
}
} else if (scrollable) {
if (mb->is_pressed() && mb->get_button_index() == MouseButton::WHEEL_UP) {
- grab_focus();
+ if (get_focus_mode() != FOCUS_NONE) {
+ grab_focus();
+ }
set_value(get_value() + get_step());
} else if (mb->is_pressed() && mb->get_button_index() == MouseButton::WHEEL_DOWN) {
- grab_focus();
+ if (get_focus_mode() != FOCUS_NONE) {
+ grab_focus();
+ }
set_value(get_value() - get_step());
}
}