Dmitry Timoshkov : windowscodecs: Make JPEG decoder fallback to 96 dpi resolution for density_unit == 0 case .

Alexandre Julliard julliard at winehq.org
Mon Mar 25 14:19:38 CDT 2013


Module: wine
Branch: master
Commit: fb87ee2464ea9904b8aa3f1bbdb52a94f610e492
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=fb87ee2464ea9904b8aa3f1bbdb52a94f610e492

Author: Dmitry Timoshkov <dmitry at 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);




More information about the wine-cvs mailing list