summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRĂ©mi Verschelde <rverschelde@gmail.com>2019-09-20 17:28:39 +0200
committerGitHub <noreply@github.com>2019-09-20 17:28:39 +0200
commit712a82a6f66399343f96558267c09b2ae473d4de (patch)
treea5d91cba0a42d3443d5eec6e74048095d926815a
parent77ec3ec0a30e38af4cd573b98d3934c18b91a48f (diff)
parent50da1b7d15f2a7c5babf059dd649eea1cd0497ec (diff)
Merge pull request #32134 from IronicallySerious/fix-global-class-list
Add correct class selection in Select VCS menu
-rw-r--r--editor/plugins/version_control_editor_plugin.cpp14
1 files changed, 13 insertions, 1 deletions
diff --git a/editor/plugins/version_control_editor_plugin.cpp b/editor/plugins/version_control_editor_plugin.cpp
index ad3cf3febd..c41f51d387 100644
--- a/editor/plugins/version_control_editor_plugin.cpp
+++ b/editor/plugins/version_control_editor_plugin.cpp
@@ -381,7 +381,19 @@ void VersionControlEditorPlugin::register_editor() {
void VersionControlEditorPlugin::fetch_available_vcs_addon_names() {
- ScriptServer::get_global_class_list(&available_addons);
+ List<StringName> global_classes;
+ ScriptServer::get_global_class_list(&global_classes);
+
+ for (int i = 0; i != global_classes.size(); i++) {
+
+ String path = ScriptServer::get_global_class_path(global_classes[i]);
+ Ref<Script> script = ResourceLoader::load(path);
+
+ if (script->get_instance_base_type() == "EditorVCSInterface") {
+
+ available_addons.push_back(global_classes[i]);
+ }
+ }
}
void VersionControlEditorPlugin::clear_stage_area() {