Module: wine Branch: master Commit: fb87ee2464ea9904b8aa3f1bbdb52a94f610e492 URL: http://source.winehq.org/git/wine.git/?a=commit;h=fb87ee2464ea9904b8aa3f1bbd...
Author: Dmitry Timoshkov dmitry@baikal.ru Date: Mon Mar 18 14:22:13 2013 +0900
windowscodecs: Make JPEG decoder fallback to 96 dpi resolution for density_unit == 0 case.
---
dlls/windowscodecs/jpegformat.c | 17 ++++++++++++----- 1 files changed, 12 insertions(+), 5 deletions(-)
diff --git a/dlls/windowscodecs/jpegformat.c b/dlls/windowscodecs/jpegformat.c index 6f2653d..c742f78 100644 --- a/dlls/windowscodecs/jpegformat.c +++ b/dlls/windowscodecs/jpegformat.c @@ -548,16 +548,23 @@ static HRESULT WINAPI JpegDecoder_Frame_GetResolution(IWICBitmapFrameDecode *ifa
EnterCriticalSection(&This->lock);
- if (This->cinfo.density_unit == 2) /* pixels per centimeter */ + switch (This->cinfo.density_unit) { + case 2: /* pixels per centimeter */ *pDpiX = This->cinfo.X_density * 2.54; *pDpiY = This->cinfo.Y_density * 2.54; - } - else - { - /* 1 = pixels per inch, 0 = unknown */ + break; + + case 1: /* pixels per inch */ *pDpiX = This->cinfo.X_density; *pDpiY = This->cinfo.Y_density; + break; + + case 0: /* unknown */ + default: + *pDpiX = 96.0; + *pDpiY = 96.0; + break; }
LeaveCriticalSection(&This->lock);