Explorar o código

Merge pull request #10822 from hoelzl/toggle-button

Fix inconsistent toggle button behavior
Rémi Verschelde %!s(int64=8) %!d(string=hai) anos
pai
achega
0f63b68336
Modificáronse 1 ficheiros con 5 adicións e 5 borrados
  1. 5 5
      scene/gui/base_button.cpp

+ 5 - 5
scene/gui/base_button.cpp

@@ -87,14 +87,14 @@ void BaseButton::_gui_input(Ref<InputEvent> p_event) {
 
 
 					status.pressed = !status.pressed;
 					status.pressed = !status.pressed;
 					pressed();
 					pressed();
-					if (get_script_instance()) {
-						Variant::CallError ce;
-						get_script_instance()->call(SceneStringNames::get_singleton()->_pressed, NULL, 0, ce);
-					}
+
 					emit_signal("pressed");
 					emit_signal("pressed");
 					_unpress_group();
 					_unpress_group();
 
 
 					toggled(status.pressed);
 					toggled(status.pressed);
+					if (get_script_instance()) {
+						get_script_instance()->call(SceneStringNames::get_singleton()->_toggled, status.pressed);
+					}
 					emit_signal("toggled", status.pressed);
 					emit_signal("toggled", status.pressed);
 				}
 				}
 
 
@@ -143,10 +143,10 @@ void BaseButton::_gui_input(Ref<InputEvent> p_event) {
 					emit_signal("pressed");
 					emit_signal("pressed");
 
 
 					toggled(status.pressed);
 					toggled(status.pressed);
-					emit_signal("toggled", status.pressed);
 					if (get_script_instance()) {
 					if (get_script_instance()) {
 						get_script_instance()->call(SceneStringNames::get_singleton()->_toggled, status.pressed);
 						get_script_instance()->call(SceneStringNames::get_singleton()->_toggled, status.pressed);
 					}
 					}
+					emit_signal("toggled", status.pressed);
 				}
 				}
 
 
 				_unpress_group();
 				_unpress_group();