Răsfoiți Sursa

Fix BMP loader incorrectly interpreting color table size

Color table should exist for images with bit count <= 8. Importing 16-bit
BMP images could also likely have a color table but they're not currently
supported in Godot.

(cherry picked from commit d5c5aabbf28bdae7e7b5e2be0b66f640a0cd62cf)
Andrii Doroshenko (Xrayez) 6 ani în urmă
părinte
comite
f8dce7ade9
1 a modificat fișierele cu 1 adăugiri și 1 ștergeri
  1. 1 1
      modules/bmp/image_loader_bmp.cpp

+ 1 - 1
modules/bmp/image_loader_bmp.cpp

@@ -257,8 +257,8 @@ Error ImageLoaderBMP::load_image(Ref<Image> p_image, FileAccess *f,
 			if (bmp_header.bmp_info_header.bmp_bit_count <= 8) {
 				// Support 256 colors max
 				color_table_size = 1 << bmp_header.bmp_info_header.bmp_bit_count;
+				ERR_FAIL_COND_V(color_table_size == 0, ERR_BUG);
 			}
-			ERR_FAIL_COND_V(color_table_size == 0, ERR_BUG);
 
 			PoolVector<uint8_t> bmp_color_table;
 			if (color_table_size > 0) {