Blob Blame History Raw
diff -urNp old/plug-ins/common/file-tga.c new/plug-ins/common/file-tga.c
--- old/plug-ins/common/file-tga.c	2018-01-04 12:36:22.333754882 +0100
+++ new/plug-ins/common/file-tga.c	2018-01-04 12:40:46.943070295 +0100
@@ -564,12 +564,17 @@ load_image (const gchar  *filename,
           }
         break;
       case TGA_TYPE_COLOR:
-        if (info.bpp != 15 && info.bpp != 16 &&
-            info.bpp != 24 && info.bpp != 32)
+        if ((info.bpp != 15 && info.bpp != 16 &&
+            info.bpp != 24 && info.bpp != 32)      ||
+           ((info.bpp == 15 || info.bpp == 24) &&
+            info.alphaBits != 0)                   ||
+           (info.bpp == 16 && info.alphaBits != 1 &&
+            info.alphaBits != 0)                   ||
+           (info.bpp == 32 && info.alphaBits != 8))
           {
-            g_message ("Unhandled sub-format in '%s' (type = %u, bpp = %u)",
+            g_message ("Unhandled sub-format in '%s' (type = %u, bpp = %u, alpha = %u)",
                        gimp_filename_to_utf8 (filename),
-                       info.imageType, info.bpp);
+                       info.imageType, info.bpp, info.alphaBits);
             return -1;
           }
         break;