diff options
author | Rémi Verschelde <remi@verschelde.fr> | 2022-07-27 16:53:26 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-07-27 16:53:26 +0200 |
commit | ba2aa30a1861aed55d1fc80fe48bc356afdf17bd (patch) | |
tree | 377e964704e19fdb5fa51e33ce6e8eb308dd8b4a /editor/editor_inspector.cpp | |
parent | ed61fb2a8b367d60e5ac0e54e8be5320abfcce80 (diff) | |
parent | f9dba447b9bd22f1d166c48a0bcd622b97bc9aa6 (diff) | |
download | redot-engine-ba2aa30a1861aed55d1fc80fe48bc356afdf17bd.tar.gz |
Merge pull request #58443 from object71/fix-editor-properties-deleted-by-mistake
Diffstat (limited to 'editor/editor_inspector.cpp')
-rw-r--r-- | editor/editor_inspector.cpp | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/editor/editor_inspector.cpp b/editor/editor_inspector.cpp index b610e09545..10e17eade9 100644 --- a/editor/editor_inspector.cpp +++ b/editor/editor_inspector.cpp @@ -3704,20 +3704,25 @@ void EditorInspector::_update_script_class_properties(const Object &p_object, Li added.insert(pi.name); r_list.insert_before(insert_here, pi); + + List<PropertyInfo>::Element *prop_below = bottom->next(); + while (prop_below) { + if (prop_below->get() == pi) { + List<PropertyInfo>::Element *to_delete = prop_below; + prop_below = prop_below->next(); + r_list.erase(to_delete); + } else { + prop_below = prop_below->next(); + } + } } // Script Variables -> NodeA (insert_here) -> A props... -> bottom insert_here = category; } - // NodeC -> C props... -> NodeB..C.. if (script_variables) { r_list.erase(script_variables); - List<PropertyInfo>::Element *to_delete = bottom->next(); - while (to_delete && !(to_delete->get().usage & PROPERTY_USAGE_CATEGORY)) { - r_list.erase(to_delete); - to_delete = bottom->next(); - } r_list.erase(bottom); } } |