From f9dba447b9bd22f1d166c48a0bcd622b97bc9aa6 Mon Sep 17 00:00:00 2001 From: Hristo Stamenov Date: Tue, 22 Feb 2022 20:25:33 +0200 Subject: [PATCH] Deleting only repeating "Scripted Variables" props --- editor/editor_inspector.cpp | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/editor/editor_inspector.cpp b/editor/editor_inspector.cpp index 675ef808e10b..314a65ad569c 100644 --- a/editor/editor_inspector.cpp +++ b/editor/editor_inspector.cpp @@ -3620,20 +3620,25 @@ void EditorInspector::_update_script_class_properties(const Object &p_object, Li added.insert(pi.name); r_list.insert_before(insert_here, pi); + + List::Element *prop_below = bottom->next(); + while (prop_below) { + if (prop_below->get() == pi) { + List::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::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); } }