summaryrefslogtreecommitdiffstats
path: root/editor/editor_help.cpp
diff options
context:
space:
mode:
authorocean (they/them) <anvilfolk@gmail.com>2023-04-28 06:49:24 -0400
committerocean (they/them) <anvilfolk@gmail.com>2023-04-28 07:38:36 -0400
commit6f8113721d1025feb720bbcb163fb497c8b99972 (patch)
tree45b3c4e279e89560a371deaff0085082f59c38c5 /editor/editor_help.cpp
parent240ed28291ae87f06f7bcaa66e3d08530f210bf2 (diff)
downloadredot-engine-6f8113721d1025feb720bbcb163fb497c8b99972.tar.gz
Fix wrongly removing prefix when generating in-editor documentation
Co-authored-by: Danil Alexeev <danil@alexeev.xyz>
Diffstat (limited to 'editor/editor_help.cpp')
-rw-r--r--editor/editor_help.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/editor/editor_help.cpp b/editor/editor_help.cpp
index f2d852cc2b..8d95a5b579 100644
--- a/editor/editor_help.cpp
+++ b/editor/editor_help.cpp
@@ -115,7 +115,13 @@ static String _contextualize_class_specifier(const String &p_class_specifier, co
return p_class_specifier.substr(rfind + 1);
}
- // Remove prefix
+ // They share a _name_ prefix but not a _class specifier_ prefix, e.g. Tree & TreeItem
+ // begins_with + lengths being different implies p_class_specifier.length() > p_edited_class.length() so this is safe
+ if (p_class_specifier[p_edited_class.length()] != '.') {
+ return p_class_specifier;
+ }
+
+ // Remove class specifier prefix
return p_class_specifier.substr(p_edited_class.length() + 1);
}