Added patch to ignore unsupported alpha channels in TIFF decoder.

This commit is contained in:
Sebastian Lackner
2015-02-21 11:25:55 +01:00
parent ea6d6ce494
commit 65895dcd33
5 changed files with 61 additions and 1 deletions

View File

@@ -0,0 +1,38 @@
From 905f0a28d10fa0e67b8c2580d65f9001bc15f92a Mon Sep 17 00:00:00 2001
From: Dmitry Timoshkov <dmitry@baikal.ru>
Date: Sat, 21 Feb 2015 11:23:58 +0100
Subject: windowscodecs: Ignore unsupported alpha channel in
tiff_get_decode_info.
---
dlls/windowscodecs/tiffformat.c | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/dlls/windowscodecs/tiffformat.c b/dlls/windowscodecs/tiffformat.c
index 74a73bc..6302c28 100644
--- a/dlls/windowscodecs/tiffformat.c
+++ b/dlls/windowscodecs/tiffformat.c
@@ -326,7 +326,19 @@ static HRESULT tiff_get_decode_info(TIFF *tiff, tiff_decode_info *decode_info)
decode_info->invert_grayscale = 1;
/* fall through */
case 1: /* BlackIsZero */
- if (samples != 1)
+ if (samples == 2)
+ {
+ ret = pTIFFGetField(tiff, TIFFTAG_EXTRASAMPLES, &extra_sample_count, &extra_samples);
+ if (!ret)
+ {
+ extra_sample_count = 1;
+ extra_sample = 0;
+ extra_samples = &extra_sample;
+ }
+ else
+ FIXME("ignoring extra alpha %u/%u bps %u\n", extra_sample_count, extra_samples[0], bps);
+ }
+ else if (samples != 1)
{
FIXME("unhandled grayscale sample count %u\n", samples);
return E_FAIL;
--
2.3.0

View File

@@ -0,0 +1 @@
Fixes: [38027] Ignore unsupported alpha channels in TIFF decoder