summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPouleyKetchoupp <pouleyketchoup@gmail.com>2021-01-06 11:31:44 -0700
committerPouleyKetchoupp <pouleyketchoup@gmail.com>2021-01-06 11:35:05 -0700
commitc064378f954346c0e37252cf785878fe5c7bb633 (patch)
tree59023359bdf8dac91d2dd558ebefa398968d82b6
parentf62f64193a5ba54a5e0e74547d0cb0fb54b11258 (diff)
Update String property field only when text has changed
Avoids resetting the cursor position when the inspector updates while editing a string property. Fixes #42488
-rw-r--r--editor/editor_properties.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/editor/editor_properties.cpp b/editor/editor_properties.cpp
index 9c27b50a9a..1918dc6bc4 100644
--- a/editor/editor_properties.cpp
+++ b/editor/editor_properties.cpp
@@ -77,7 +77,9 @@ void EditorPropertyText::_text_changed(const String &p_string) {
void EditorPropertyText::update_property() {
String s = get_edited_object()->get(get_edited_property());
updating = true;
- text->set_text(s);
+ if (text->get_text() != s) {
+ text->set_text(s);
+ }
text->set_editable(!is_read_only());
updating = false;
}
@@ -133,9 +135,11 @@ void EditorPropertyMultilineText::_open_big_text() {
void EditorPropertyMultilineText::update_property() {
String t = get_edited_object()->get(get_edited_property());
- text->set_text(t);
- if (big_text && big_text->is_visible_in_tree()) {
- big_text->set_text(t);
+ if (text->get_text() != t) {
+ text->set_text(t);
+ if (big_text && big_text->is_visible_in_tree()) {
+ big_text->set_text(t);
+ }
}
}