summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2016-11-28 15:28:55 +0100
committerGitHub <noreply@github.com>2016-11-28 15:28:55 +0100
commit895b29978bf30c9ef3235a11c0430cf4ec672165 (patch)
tree6edd0c97731ea2c6b6b4654e1dc4e04bf1bf4e43
parent2cf4c5e173dc80faa4a5447030bf0a01797c411b (diff)
parent4df33cbcb391f00216851f54a7db9acb52291335 (diff)
Merge pull request #7184 from volzhs/spinbox
Prevent Spinbox value update while not focused or disabled
-rw-r--r--scene/gui/spin_box.cpp18
1 files changed, 13 insertions, 5 deletions
diff --git a/scene/gui/spin_box.cpp b/scene/gui/spin_box.cpp
index 9417c25424..11a4adbf7b 100644
--- a/scene/gui/spin_box.cpp
+++ b/scene/gui/spin_box.cpp
@@ -92,6 +92,9 @@ void SpinBox::_range_click_timeout() {
void SpinBox::_input_event(const InputEvent& p_event) {
+ if (!is_editable()) {
+ return;
+ }
if (p_event.type==InputEvent::MOUSE_BUTTON && p_event.mouse_button.pressed) {
const InputEventMouseButton &mb=p_event.mouse_button;
@@ -110,19 +113,24 @@ void SpinBox::_input_event(const InputEvent& p_event) {
range_click_timer->set_one_shot(true);
range_click_timer->start();
+ line_edit->grab_focus();
} break;
case BUTTON_RIGHT: {
set_val( (up?get_max():get_min()) );
-
+ line_edit->grab_focus();
} break;
case BUTTON_WHEEL_UP: {
-
- set_val( get_val() + get_step() );
+ if (line_edit->has_focus()) {
+ set_val( get_val() + get_step() );
+ accept_event();
+ }
} break;
case BUTTON_WHEEL_DOWN: {
-
- set_val( get_val() - get_step() );
+ if (line_edit->has_focus()) {
+ set_val( get_val() - get_step() );
+ accept_event();
+ }
} break;
}
}