Переглянути джерело

Ensure slider grabs focus only when it can

(cherry picked from commit fde51aeb28350dc75259c1995d4bee6c7c0ddc7a)
Ricardo Subtil 1 рік тому
батько
коміт
7fd058a7fa
1 змінених файлів з 6 додано та 2 видалено
  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());
 			}
 		}