Disable ResourceFormatLoader/Savers of disabled classes
This commit is contained in:
@ -33,6 +33,8 @@
|
||||
#include "image_saver_dds.h"
|
||||
#include "texture_loader_dds.h"
|
||||
|
||||
#include "scene/resources/texture.h"
|
||||
|
||||
static Ref<ResourceFormatDDS> resource_loader_dds;
|
||||
|
||||
void initialize_dds_module(ModuleInitializationLevel p_level) {
|
||||
@ -43,8 +45,10 @@ void initialize_dds_module(ModuleInitializationLevel p_level) {
|
||||
Image::save_dds_func = save_dds;
|
||||
Image::save_dds_buffer_func = save_dds_buffer;
|
||||
|
||||
resource_loader_dds.instantiate();
|
||||
ResourceLoader::add_resource_format_loader(resource_loader_dds);
|
||||
if (GD_IS_CLASS_ENABLED(Texture)) {
|
||||
resource_loader_dds.instantiate();
|
||||
ResourceLoader::add_resource_format_loader(resource_loader_dds);
|
||||
}
|
||||
}
|
||||
|
||||
void uninitialize_dds_module(ModuleInitializationLevel p_level) {
|
||||
@ -52,8 +56,11 @@ void uninitialize_dds_module(ModuleInitializationLevel p_level) {
|
||||
return;
|
||||
}
|
||||
|
||||
ResourceLoader::remove_resource_format_loader(resource_loader_dds);
|
||||
resource_loader_dds.unref();
|
||||
if (GD_IS_CLASS_ENABLED(Texture)) {
|
||||
ResourceLoader::remove_resource_format_loader(resource_loader_dds);
|
||||
resource_loader_dds.unref();
|
||||
}
|
||||
|
||||
Image::save_dds_func = nullptr;
|
||||
Image::save_dds_buffer_func = nullptr;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user