|
@@ -91,6 +91,14 @@ void SpinBox::_range_click_timeout() {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+void SpinBox::_release_mouse() {
|
|
|
+ if (drag.enabled) {
|
|
|
+ drag.enabled = false;
|
|
|
+ Input::get_singleton()->set_mouse_mode(Input::MOUSE_MODE_VISIBLE);
|
|
|
+ warp_mouse(drag.capture_pos);
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
void SpinBox::_gui_input(const Ref<InputEvent> &p_event) {
|
|
|
if (!is_editable()) {
|
|
|
return;
|
|
@@ -136,12 +144,7 @@ void SpinBox::_gui_input(const Ref<InputEvent> &p_event) {
|
|
|
if (mb.is_valid() && !mb->is_pressed() && mb->get_button_index() == BUTTON_LEFT) {
|
|
|
//set_default_cursor_shape(CURSOR_ARROW);
|
|
|
range_click_timer->stop();
|
|
|
-
|
|
|
- if (drag.enabled) {
|
|
|
- drag.enabled = false;
|
|
|
- Input::get_singleton()->set_mouse_mode(Input::MOUSE_MODE_VISIBLE);
|
|
|
- warp_mouse(drag.capture_pos);
|
|
|
- }
|
|
|
+ _release_mouse();
|
|
|
drag.allowed = false;
|
|
|
}
|
|
|
|
|
@@ -199,6 +202,8 @@ void SpinBox::_notification(int p_what) {
|
|
|
} else if (p_what == NOTIFICATION_ENTER_TREE) {
|
|
|
_adjust_width_for_icon(get_theme_icon("updown"));
|
|
|
_value_changed(0);
|
|
|
+ } else if (p_what == NOTIFICATION_EXIT_TREE) {
|
|
|
+ _release_mouse();
|
|
|
} else if (p_what == NOTIFICATION_TRANSLATION_CHANGED) {
|
|
|
_value_changed(0);
|
|
|
} else if (p_what == NOTIFICATION_THEME_CHANGED) {
|