Module: wine Branch: master Commit: 9e5ecdb74532e0d2a503d26d16de98376c17f7f8 URL: http://source.winehq.org/git/wine.git/?a=commit;h=9e5ecdb74532e0d2a503d26d16...
Author: Dmitry Timoshkov dmitry@baikal.ru Date: Wed Nov 21 17:11:15 2012 +0800
windowscodecs: Make GetFrameCount in the TIFF decoder not fail without an image stream.
---
dlls/windowscodecs/tests/tiffformat.c | 3 --- dlls/windowscodecs/tiffformat.c | 8 ++------ 2 files changed, 2 insertions(+), 9 deletions(-)
diff --git a/dlls/windowscodecs/tests/tiffformat.c b/dlls/windowscodecs/tests/tiffformat.c index 9b5db52..4cbda4d 100644 --- a/dlls/windowscodecs/tests/tiffformat.c +++ b/dlls/windowscodecs/tests/tiffformat.c @@ -203,9 +203,7 @@ static void test_QueryCapability(void)
frame_count = 0xdeadbeef; hr = IWICBitmapDecoder_GetFrameCount(decoder, &frame_count); -todo_wine ok(hr == S_OK || broken(hr == E_POINTER) /* XP */, "GetFrameCount error %#x\n", hr); -todo_wine ok(frame_count == 0, "expected 0, got %u\n", frame_count);
pos.QuadPart = 4; @@ -222,7 +220,6 @@ todo_wine
frame_count = 0xdeadbeef; hr = IWICBitmapDecoder_GetFrameCount(decoder, &frame_count); -todo_wine ok(hr == S_OK, "GetFrameCount error %#x\n", hr); todo_wine ok(frame_count == 1, "expected 1, got %u\n", frame_count); diff --git a/dlls/windowscodecs/tiffformat.c b/dlls/windowscodecs/tiffformat.c index cf93540..f22d9f6 100644 --- a/dlls/windowscodecs/tiffformat.c +++ b/dlls/windowscodecs/tiffformat.c @@ -668,14 +668,10 @@ static HRESULT WINAPI TiffDecoder_GetFrameCount(IWICBitmapDecoder *iface, { TiffDecoder *This = impl_from_IWICBitmapDecoder(iface);
- if (!This->tiff) - { - WARN("(%p) <-- WINCODEC_ERR_WRONGSTATE\n", iface); - return WINCODEC_ERR_WRONGSTATE; - } + if (!pCount) return E_INVALIDARG;
EnterCriticalSection(&This->lock); - *pCount = pTIFFNumberOfDirectories(This->tiff); + *pCount = This->tiff ? pTIFFNumberOfDirectories(This->tiff) : 0; LeaveCriticalSection(&This->lock);
TRACE("(%p) <-- %i\n", iface, *pCount);