Browse Source

Fix BaseButton.shortcut_feedback's timer raises errors
when a button is removed from the scene tree

jsjtxietian 1 year ago
parent
commit
47d601b316
1 changed files with 1 additions and 1 deletions
  1. 1 1
      scene/gui/base_button.cpp

+ 1 - 1
scene/gui/base_button.cpp

@@ -380,7 +380,7 @@ void BaseButton::shortcut_input(const Ref<InputEvent> &p_event) {
 		queue_redraw();
 		queue_redraw();
 		accept_event();
 		accept_event();
 
 
-		if (shortcut_feedback) {
+		if (shortcut_feedback && is_inside_tree()) {
 			if (shortcut_feedback_timer == nullptr) {
 			if (shortcut_feedback_timer == nullptr) {
 				shortcut_feedback_timer = memnew(Timer);
 				shortcut_feedback_timer = memnew(Timer);
 				shortcut_feedback_timer->set_one_shot(true);
 				shortcut_feedback_timer->set_one_shot(true);