summaryrefslogtreecommitdiffstats
path: root/editor/editor_inspector.cpp
diff options
context:
space:
mode:
authorRémi Verschelde <remi@verschelde.fr>2022-07-27 16:53:26 +0200
committerGitHub <noreply@github.com>2022-07-27 16:53:26 +0200
commitba2aa30a1861aed55d1fc80fe48bc356afdf17bd (patch)
tree377e964704e19fdb5fa51e33ce6e8eb308dd8b4a /editor/editor_inspector.cpp
parented61fb2a8b367d60e5ac0e54e8be5320abfcce80 (diff)
parentf9dba447b9bd22f1d166c48a0bcd622b97bc9aa6 (diff)
downloadredot-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.cpp17
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);
}
}