Browse Source

Ensure slider grabs focus only when it can

Ricardo Subtil 1 year ago
parent
commit
fde51aeb28
1 changed files with 6 additions and 2 deletions
  1. 6 2
      scene/gui/slider.cpp

+ 6 - 2
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());
 			}
 		}