From 461e79bd18536f6ababa861ccd31121441a92682 Mon Sep 17 00:00:00 2001 From: Haoyu Qiu Date: Sun, 13 Jun 2021 17:25:39 +0800 Subject: [PATCH] Validate parameters when adding plugins (cherry picked from commit 1a9e3edd30f6db4cb3fc7e079b64a2eb137bf865) --- editor/editor_plugin.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/editor/editor_plugin.cpp b/editor/editor_plugin.cpp index f35805c8ea2..6f593923048 100644 --- a/editor/editor_plugin.cpp +++ b/editor/editor_plugin.cpp @@ -755,44 +755,54 @@ void EditorPlugin::restore_global_state() {} void EditorPlugin::save_global_state() {} void EditorPlugin::add_import_plugin(const Ref &p_importer) { + ERR_FAIL_COND(!p_importer.is_valid()); ResourceFormatImporter::get_singleton()->add_importer(p_importer); EditorFileSystem::get_singleton()->call_deferred("scan"); } void EditorPlugin::remove_import_plugin(const Ref &p_importer) { + ERR_FAIL_COND(!p_importer.is_valid()); ResourceFormatImporter::get_singleton()->remove_importer(p_importer); EditorFileSystem::get_singleton()->call_deferred("scan"); } void EditorPlugin::add_export_plugin(const Ref &p_exporter) { + ERR_FAIL_COND(!p_exporter.is_valid()); EditorExport::get_singleton()->add_export_plugin(p_exporter); } void EditorPlugin::remove_export_plugin(const Ref &p_exporter) { + ERR_FAIL_COND(!p_exporter.is_valid()); EditorExport::get_singleton()->remove_export_plugin(p_exporter); } void EditorPlugin::add_spatial_gizmo_plugin(const Ref &p_gizmo_plugin) { + ERR_FAIL_COND(!p_gizmo_plugin.is_valid()); SpatialEditor::get_singleton()->add_gizmo_plugin(p_gizmo_plugin); } void EditorPlugin::remove_spatial_gizmo_plugin(const Ref &p_gizmo_plugin) { + ERR_FAIL_COND(!p_gizmo_plugin.is_valid()); SpatialEditor::get_singleton()->remove_gizmo_plugin(p_gizmo_plugin); } void EditorPlugin::add_inspector_plugin(const Ref &p_plugin) { + ERR_FAIL_COND(!p_plugin.is_valid()); EditorInspector::add_inspector_plugin(p_plugin); } void EditorPlugin::remove_inspector_plugin(const Ref &p_plugin) { + ERR_FAIL_COND(!p_plugin.is_valid()); EditorInspector::remove_inspector_plugin(p_plugin); } void EditorPlugin::add_scene_import_plugin(const Ref &p_importer) { + ERR_FAIL_COND(!p_importer.is_valid()); ResourceImporterScene::get_singleton()->add_importer(p_importer); } void EditorPlugin::remove_scene_import_plugin(const Ref &p_importer) { + ERR_FAIL_COND(!p_importer.is_valid()); ResourceImporterScene::get_singleton()->remove_importer(p_importer); }