Browse Source

Fix AnimationTree Editor by using CONNECT_DEFERRED on LineEdit

Not having this causes the LineEdit to be deleted while still processing
signals, which can cause a crash during focus changes.

Fixes 35293
N0hbdy 5 years ago
parent
commit
3fffb1c031
1 changed files with 1 additions and 1 deletions
  1. 1 1
      editor/plugins/animation_blend_tree_editor_plugin.cpp

+ 1 - 1
editor/plugins/animation_blend_tree_editor_plugin.cpp

@@ -147,7 +147,7 @@ void AnimationNodeBlendTreeEditor::_update_graph() {
 			node->add_child(name);
 			node->add_child(name);
 			node->set_slot(0, false, 0, Color(), true, 0, get_color("font_color", "Label"));
 			node->set_slot(0, false, 0, Color(), true, 0, get_color("font_color", "Label"));
 			name->connect("text_entered", this, "_node_renamed", varray(agnode));
 			name->connect("text_entered", this, "_node_renamed", varray(agnode));
-			name->connect("focus_exited", this, "_node_renamed_focus_out", varray(name, agnode));
+			name->connect("focus_exited", this, "_node_renamed_focus_out", varray(name, agnode), CONNECT_DEFERRED);
 			base = 1;
 			base = 1;
 			node->set_show_close_button(true);
 			node->set_show_close_button(true);
 			node->connect("close_request", this, "_delete_request", varray(E->get()), CONNECT_DEFERRED);
 			node->connect("close_request", this, "_delete_request", varray(E->get()), CONNECT_DEFERRED);