diff --git a/core/core_bind.cpp b/core/core_bind.cpp index 03c31bee280..385ddb09f82 100644 --- a/core/core_bind.cpp +++ b/core/core_bind.cpp @@ -152,12 +152,10 @@ void ResourceLoader::_bind_methods() { ////// ResourceSaver ////// Error ResourceSaver::save(const Ref &p_resource, const String &p_path, BitField p_flags) { - ERR_FAIL_COND_V_MSG(p_resource.is_null(), ERR_INVALID_PARAMETER, "Can't save empty resource to path '" + p_path + "'."); return ::ResourceSaver::save(p_resource, p_path, p_flags); } Vector ResourceSaver::get_recognized_extensions(const Ref &p_resource) { - ERR_FAIL_COND_V_MSG(p_resource.is_null(), Vector(), "It's not a reference to a valid Resource object."); List exts; ::ResourceSaver::get_recognized_extensions(p_resource, &exts); Vector ret; diff --git a/core/io/resource_saver.cpp b/core/io/resource_saver.cpp index e4022b20738..1dc12453556 100644 --- a/core/io/resource_saver.cpp +++ b/core/io/resource_saver.cpp @@ -98,6 +98,7 @@ void ResourceFormatSaver::_bind_methods() { } Error ResourceSaver::save(const Ref &p_resource, const String &p_path, uint32_t p_flags) { + ERR_FAIL_COND_V_MSG(p_resource.is_null(), ERR_INVALID_PARAMETER, "Can't save empty resource to path '" + p_path + "'."); String path = p_path; if (path.is_empty()) { path = p_resource->get_path(); @@ -174,6 +175,7 @@ void ResourceSaver::set_save_callback(ResourceSavedCallback p_callback) { } void ResourceSaver::get_recognized_extensions(const Ref &p_resource, List *p_extensions) { + ERR_FAIL_COND_MSG(p_resource.is_null(), "It's not a reference to a valid Resource object."); for (int i = 0; i < saver_count; i++) { saver[i]->get_recognized_extensions(p_resource, p_extensions); } diff --git a/editor/import/3d/resource_importer_obj.cpp b/editor/import/3d/resource_importer_obj.cpp index 242b483b513..f5bf60175ab 100644 --- a/editor/import/3d/resource_importer_obj.cpp +++ b/editor/import/3d/resource_importer_obj.cpp @@ -497,7 +497,7 @@ static Error _parse_obj(const String &p_path, List> &r_meshes, } } - if (p_single_mesh) { + if (p_single_mesh && mesh->get_surface_count() > 0) { r_meshes.push_back(mesh); }