You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-23 15:16:17 +00:00
Fix double text_changed signal when overwriting selection in LineEdit
The part of gui_input that handles unicode wasn't checking
text_changed_dirty before emitting the signal, unlike the rest of the text editing functions.
Fixes #86451
(cherry picked from commit cab48493d8)
This commit is contained in:
committed by
Rémi Verschelde
parent
d216ac7a2c
commit
e4181c6d48
@@ -624,7 +624,12 @@ void LineEdit::gui_input(const Ref<InputEvent> &p_event) {
|
|||||||
int prev_len = text.length();
|
int prev_len = text.length();
|
||||||
insert_text_at_caret(ucodestr);
|
insert_text_at_caret(ucodestr);
|
||||||
if (text.length() != prev_len) {
|
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();
|
accept_event();
|
||||||
return;
|
return;
|
||||||
|
|||||||
Reference in New Issue
Block a user