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