You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-12-07 17:36:07 +00:00
Fix missing gutter icon for inner class method overrides
This commit is contained in:
@@ -1164,11 +1164,22 @@ void ScriptTextEditor::_update_connected_methods() {
|
|||||||
// Add override icons to methods.
|
// Add override icons to methods.
|
||||||
methods_found.clear();
|
methods_found.clear();
|
||||||
for (int i = 0; i < functions.size(); i++) {
|
for (int i = 0; i < functions.size(); i++) {
|
||||||
StringName name = StringName(functions[i].get_slice(":", 0));
|
String raw_name = functions[i].get_slice(":", 0);
|
||||||
|
StringName name = StringName(raw_name);
|
||||||
if (methods_found.has(name)) {
|
if (methods_found.has(name)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Account for inner classes
|
||||||
|
if (raw_name.contains(".")) {
|
||||||
|
// Strip inner class name from the method, and start from the right since
|
||||||
|
// our inner class might be inside another inner class
|
||||||
|
int pos = raw_name.rfind(".");
|
||||||
|
if (pos != -1) {
|
||||||
|
name = raw_name.substr(pos + 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
String found_base_class;
|
String found_base_class;
|
||||||
StringName base_class = script->get_instance_base_type();
|
StringName base_class = script->get_instance_base_type();
|
||||||
Ref<Script> inherited_script = script->get_base_script();
|
Ref<Script> inherited_script = script->get_base_script();
|
||||||
@@ -1217,7 +1228,7 @@ void ScriptTextEditor::_update_connected_methods() {
|
|||||||
text_edit->set_line_gutter_icon(line, connection_gutter, get_parent_control()->get_editor_theme_icon(SNAME("MethodOverrideAndSlot")));
|
text_edit->set_line_gutter_icon(line, connection_gutter, get_parent_control()->get_editor_theme_icon(SNAME("MethodOverrideAndSlot")));
|
||||||
}
|
}
|
||||||
|
|
||||||
methods_found.insert(name);
|
methods_found.insert(StringName(raw_name));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user