From 44ea4280b20179eea5520fd1ef5ac814c528c45e Mon Sep 17 00:00:00 2001
From: Leonard Lee <leonard.lee@digia.com>
Date: Mon, 4 Feb 2013 15:03:05 +0100
Subject: [PATCH] Fix TIFFTAG_RESOLUTIONUNIT handling.

If there is no TIFFTAG_RESOLUTIONUNIT record, the value of resUnit
should be RESUNIT_INCH and not RESUNIT_NONE.

Task-number: QTBUG-22322
Change-Id: Idb1ffeec85fdb5a23d93fa53505440a9e2f8914e
Reviewed-by: aavit <eirik.aavitsland@digia.com>
---
 src/plugins/imageformats/tiff/qtiffhandler.cpp | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/plugins/imageformats/tiff/qtiffhandler.cpp b/src/plugins/imageformats/tiff/qtiffhandler.cpp
index b2921c0e..ef76a6de 100644
--- a/src/plugins/imageformats/tiff/qtiffhandler.cpp
+++ b/src/plugins/imageformats/tiff/qtiffhandler.cpp
@@ -289,9 +289,11 @@ bool QTiffHandler::read(QImage *image)
 
     float resX = 0;
     float resY = 0;
-    uint16 resUnit = RESUNIT_NONE;
-    if (TIFFGetField(tiff, TIFFTAG_RESOLUTIONUNIT, &resUnit)
-        && TIFFGetField(tiff, TIFFTAG_XRESOLUTION, &resX)
+    uint16 resUnit;
+    if (!TIFFGetField(tiff, TIFFTAG_RESOLUTIONUNIT, &resUnit))
+        resUnit = RESUNIT_INCH;
+
+    if (TIFFGetField(tiff, TIFFTAG_XRESOLUTION, &resX)
         && TIFFGetField(tiff, TIFFTAG_YRESOLUTION, &resY)) {
 
         switch(resUnit) {
-- 
GitLab