Selaa lähdekoodia

Merge pull request #86460 from reach-satori/double_textchanged_emit

Fix double `text_changed` signal when overwriting selection in LineEdit
Rémi Verschelde 1 vuosi sitten
vanhempi
commit
5042f543ab
1 muutettua tiedostoa jossa 6 lisäystä ja 1 poistoa
  1. 6 1
      scene/gui/line_edit.cpp

+ 6 - 1
scene/gui/line_edit.cpp

@@ -624,7 +624,12 @@ void LineEdit::gui_input(const Ref<InputEvent> &p_event) {
 			int prev_len = text.length();
 			insert_text_at_caret(ucodestr);
 			if (text.length() != prev_len) {
-				_text_changed();
+				if (!text_changed_dirty) {
+					if (is_inside_tree()) {
+						callable_mp(this, &LineEdit::_text_changed).call_deferred();
+					}
+					text_changed_dirty = true;
+				}
 			}
 			accept_event();
 			return;