From 340a04d17c74bbba0966ed7e67dcaa3fb96c4fc7 Mon Sep 17 00:00:00 2001 From: lisyarus Date: Thu, 2 Nov 2023 13:03:22 +0300 Subject: [PATCH] Fix loading paletted PNG without alpha channel --- libs/gfx/source/png.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libs/gfx/source/png.cpp b/libs/gfx/source/png.cpp index f3e77691..a2f39ab0 100644 --- a/libs/gfx/source/png.cpp +++ b/libs/gfx/source/png.cpp @@ -61,13 +61,13 @@ namespace psemek::gfx if (monochrome && color_type != PNG_COLOR_TYPE_GRAY) throw util::exception("Invalid color type for monochrome PNG"); - if (color_type == PNG_COLOR_TYPE_PALETTE) + if (color_type & PNG_COLOR_MASK_PALETTE) png_set_palette_to_rgb(png); if (color_type == PNG_COLOR_TYPE_GRAY && bit_depth < 8) png_set_expand_gray_1_2_4_to_8(png); - if (color_type == PNG_COLOR_TYPE_RGB) + if (!(color_type & PNG_COLOR_MASK_ALPHA)) png_set_add_alpha(png, 0xff, PNG_FILLER_AFTER); png_read_update_info(png, info);