Browse Source

Merge pull request #25190 from 99alfie/master

Fix ButtonGroup.get_pressed_button bug
Rémi Verschelde 6 years ago
parent
commit
51c67a386d
1 changed files with 6 additions and 6 deletions
  1. 6 6
      scene/gui/base_button.cpp

+ 6 - 6
scene/gui/base_button.cpp

@@ -82,16 +82,16 @@ void BaseButton::_gui_input(Ref<InputEvent> p_event) {
 						get_script_instance()->call(SceneStringNames::get_singleton()->_pressed, NULL, 0, ce);
 					}
 
-					emit_signal("pressed");
 					_unpress_group();
+					emit_signal("pressed");
 
 				} else {
 
 					status.pressed = !status.pressed;
 					pressed();
 
-					emit_signal("pressed");
 					_unpress_group();
+					emit_signal("pressed");
 
 					toggled(status.pressed);
 					if (get_script_instance()) {
@@ -135,6 +135,7 @@ void BaseButton::_gui_input(Ref<InputEvent> p_event) {
 						get_script_instance()->call(SceneStringNames::get_singleton()->_pressed, NULL, 0, ce);
 					}
 
+					_unpress_group();
 					emit_signal("pressed");
 
 				} else {
@@ -142,6 +143,7 @@ void BaseButton::_gui_input(Ref<InputEvent> p_event) {
 					status.pressed = !status.pressed;
 
 					pressed();
+					_unpress_group();
 					emit_signal("pressed");
 
 					toggled(status.pressed);
@@ -150,8 +152,6 @@ void BaseButton::_gui_input(Ref<InputEvent> p_event) {
 					}
 					emit_signal("toggled", status.pressed);
 				}
-
-				_unpress_group();
 			}
 
 			status.press_attempt = false;
@@ -215,12 +215,14 @@ void BaseButton::_gui_input(Ref<InputEvent> p_event) {
 						get_script_instance()->call(SceneStringNames::get_singleton()->_pressed, NULL, 0, ce);
 					}
 
+					_unpress_group();
 					emit_signal("pressed");
 				} else {
 
 					status.pressed = !status.pressed;
 
 					pressed();
+					_unpress_group();
 					emit_signal("pressed");
 
 					toggled(status.pressed);
@@ -229,8 +231,6 @@ void BaseButton::_gui_input(Ref<InputEvent> p_event) {
 					}
 					emit_signal("toggled", status.pressed);
 				}
-
-				_unpress_group();
 			}
 
 			accept_event();