windowscodecs: Reimplement TiffDecoder_GetFrameCount using TIFFNumberOfDirectories.

This commit is contained in:
Dmitry Timoshkov 2012-06-12 15:22:27 +09:00 committed by Alexandre Julliard
parent 7fbf5c239e
commit 4f16c2f791
1 changed files with 3 additions and 4 deletions

View File

@ -58,7 +58,7 @@ static void *libtiff_handle;
#define MAKE_FUNCPTR(f) static typeof(f) * p##f
MAKE_FUNCPTR(TIFFClientOpen);
MAKE_FUNCPTR(TIFFClose);
MAKE_FUNCPTR(TIFFCurrentDirectory);
MAKE_FUNCPTR(TIFFNumberOfDirectories);
MAKE_FUNCPTR(TIFFGetField);
MAKE_FUNCPTR(TIFFIsByteSwapped);
MAKE_FUNCPTR(TIFFReadDirectory);
@ -89,7 +89,7 @@ static void *load_libtiff(void)
}
LOAD_FUNCPTR(TIFFClientOpen);
LOAD_FUNCPTR(TIFFClose);
LOAD_FUNCPTR(TIFFCurrentDirectory);
LOAD_FUNCPTR(TIFFNumberOfDirectories);
LOAD_FUNCPTR(TIFFGetField);
LOAD_FUNCPTR(TIFFIsByteSwapped);
LOAD_FUNCPTR(TIFFReadDirectory);
@ -662,8 +662,7 @@ static HRESULT WINAPI TiffDecoder_GetFrameCount(IWICBitmapDecoder *iface,
}
EnterCriticalSection(&This->lock);
while (pTIFFReadDirectory(This->tiff)) { }
*pCount = pTIFFCurrentDirectory(This->tiff)+1;
*pCount = pTIFFNumberOfDirectories(This->tiff);
LeaveCriticalSection(&This->lock);
TRACE("(%p) <-- %i\n", iface, *pCount);