Skip to content

Conversation

@sockeye-d
Copy link
Contributor

I added a new ScriptServer::get_indirect_inheriters_list function that recursively walks the inheritance tree from ScriptServer::get_inheriters_list. From the MRP of the attached issue, both EditorScripts show up now:

Screenshot_20251208_132153

I think it's possible to rewrite it without the second List allocation like this:

size_t classes_start_size = r_classes->size();
get_inheriters_list(p_base_type, r_classes);
size_t classes_end_size = r_classes->size();
for (int i = classes_start_size; i < classes_end_size; i++) {
	const StringName &inheritor = r_classes[i];
	r_classes->push_back(inheritor);
	get_indirect_inheriters_list(inheritor, r_classes);
}

but I'm not sure if that'd work in all cases and it's more complicated.

Fixes #113749

@sockeye-d sockeye-d requested review from a team as code owners December 8, 2025 21:26
@AThousandShips AThousandShips added bug topic:editor cherrypick:4.5 Considered for cherry-picking into a future 4.5.x release labels Dec 9, 2025
@AThousandShips AThousandShips added this to the 4.6 milestone Dec 9, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug cherrypick:4.5 Considered for cherry-picking into a future 4.5.x release topic:editor

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Command Palette does not list script extended from EditorScript subclass

2 participants