From 19e6bc68aa2bdfd5fe20de0ef570966f9768f9c0 Mon Sep 17 00:00:00 2001 From: Aaron Franke Date: Thu, 24 Apr 2025 10:41:07 -0700 Subject: [PATCH] Explicitly handle Image AlphaMode enum instead of treating as bool Co-authored-by: K. S. Ernest (iFire) Lee --- drivers/png/png_driver_common.cpp | 2 +- editor/import/resource_importer_layered_texture.cpp | 2 +- modules/webp/webp_common.cpp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/png/png_driver_common.cpp b/drivers/png/png_driver_common.cpp index bbb38eadd14..018e94bbe2f 100644 --- a/drivers/png/png_driver_common.cpp +++ b/drivers/png/png_driver_common.cpp @@ -152,7 +152,7 @@ Error image_to_png(const Ref &p_image, Vector &p_buffer) { png_img.format = PNG_FORMAT_RGBA; break; default: - if (source_image->detect_alpha()) { + if (source_image->detect_alpha() != Image::ALPHA_NONE) { source_image->convert(Image::FORMAT_RGBA8); png_img.format = PNG_FORMAT_RGBA; } else { diff --git a/editor/import/resource_importer_layered_texture.cpp b/editor/import/resource_importer_layered_texture.cpp index 5affc6712d8..8109eab2561 100644 --- a/editor/import/resource_importer_layered_texture.cpp +++ b/editor/import/resource_importer_layered_texture.cpp @@ -349,7 +349,7 @@ Error ResourceImporterLayeredTexture::import(ResourceUID::ID p_source_id, const //if using video ram, optimize if (channel_pack == 0) { //remove alpha if not needed, so compression is more efficient - if (image->get_format() == Image::FORMAT_RGBA8 && !image->detect_alpha()) { + if (image->get_format() == Image::FORMAT_RGBA8 && image->detect_alpha() == Image::ALPHA_NONE) { image->convert(Image::FORMAT_RGB8); } } else if (image->get_format() < Image::FORMAT_RGBA8) { diff --git a/modules/webp/webp_common.cpp b/modules/webp/webp_common.cpp index 9554405d6fa..cab5e9399e7 100644 --- a/modules/webp/webp_common.cpp +++ b/modules/webp/webp_common.cpp @@ -60,7 +60,7 @@ Vector _webp_packer(const Ref &p_image, float p_quality, bool p_ Error error = img->decompress(); ERR_FAIL_COND_V_MSG(error != OK, Vector(), "Couldn't decompress image."); } - if (img->detect_alpha()) { + if (img->detect_alpha() != Image::ALPHA_NONE) { img->convert(Image::FORMAT_RGBA8); } else { img->convert(Image::FORMAT_RGB8);