diff options
author | RedMser <redmser.jj2@gmail.com> | 2022-09-30 02:11:52 +0200 |
---|---|---|
committer | RedMser <redmser.jj2@gmail.com> | 2022-09-30 02:11:52 +0200 |
commit | dc3990fea45b9c90f5e18cf05347f09204e16a5f (patch) | |
tree | 5e1d73f05d77dfcfc2eaea390dd460e10db213d4 /editor/plugins | |
parent | 6991e9b43d0954018e1a82fa4cb28af42632ae92 (diff) |
Fix wrong docs opening in script override gutter
Diffstat (limited to 'editor/plugins')
-rw-r--r-- | editor/plugins/script_text_editor.cpp | 20 |
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; } } |