summaryrefslogtreecommitdiff
path: root/editor/plugins
diff options
context:
space:
mode:
authorRedMser <redmser.jj2@gmail.com>2022-09-30 02:11:52 +0200
committerRedMser <redmser.jj2@gmail.com>2022-09-30 02:11:52 +0200
commitdc3990fea45b9c90f5e18cf05347f09204e16a5f (patch)
tree5e1d73f05d77dfcfc2eaea390dd460e10db213d4 /editor/plugins
parent6991e9b43d0954018e1a82fa4cb28af42632ae92 (diff)
Fix wrong docs opening in script override gutter
Diffstat (limited to 'editor/plugins')
-rw-r--r--editor/plugins/script_text_editor.cpp20
1 files changed, 14 insertions, 6 deletions
diff --git a/editor/plugins/script_text_editor.cpp b/editor/plugins/script_text_editor.cpp
index aef84919d2..f7fc684464 100644
--- a/editor/plugins/script_text_editor.cpp
+++ b/editor/plugins/script_text_editor.cpp
@@ -1056,14 +1056,22 @@ void ScriptTextEditor::_update_connected_methods() {
inherited_script = inherited_script->get_base_script();
}
- if (found_base_class.is_empty() && base_class) {
- List<MethodInfo> methods;
- ClassDB::get_method_list(base_class, &methods);
- for (int j = 0; j < methods.size(); j++) {
- if (methods[j].name == name) {
- found_base_class = "builtin:" + base_class;
+ if (found_base_class.is_empty()) {
+ while (base_class) {
+ List<MethodInfo> methods;
+ ClassDB::get_method_list(base_class, &methods, true);
+ for (int j = 0; j < methods.size(); j++) {
+ if (methods[j].name == name) {
+ found_base_class = "builtin:" + base_class;
+ break;
+ }
+ }
+
+ ClassDB::ClassInfo *base_class_ptr = ClassDB::classes.getptr(base_class)->inherits_ptr;
+ if (base_class_ptr == nullptr) {
break;
}
+ base_class = base_class_ptr->name;
}
}