Blob Blame History Raw
--- libs/libkexiv2/libkexiv2/kexiv2image.cpp	2010/08/10 19:02:01	1161753
+++ libs/libkexiv2/libkexiv2/kexiv2image.cpp	2010/08/10 19:03:53	1161754
@@ -99,12 +99,12 @@
         Exiv2::ExifData exifData(d->exifMetadata());
         Exiv2::ExifKey key("Exif.Photo.PixelXDimension");
         Exiv2::ExifData::iterator it = exifData.findKey(key);
-        if (it != exifData.end())
+        if (it != exifData.end() && it->count())
             width = it->toLong();
 
         Exiv2::ExifKey key2("Exif.Photo.PixelYDimension");
         Exiv2::ExifData::iterator it2 = exifData.findKey(key2);
-        if (it2 != exifData.end())
+        if (it2 != exifData.end() && it2->count())
             height = it2->toLong();
 
         if (width != -1 && height != -1)
@@ -117,12 +117,12 @@
 
         Exiv2::ExifKey key3("Exif.Image.ImageWidth");
         Exiv2::ExifData::iterator it3 = exifData.findKey(key3);
-        if (it3 != exifData.end())
+        if (it3 != exifData.end() && it3->count())
             width = it3->toLong();
 
         Exiv2::ExifKey key4("Exif.Image.ImageLength");
         Exiv2::ExifData::iterator it4 = exifData.findKey(key4);
-        if (it4 != exifData.end())
+        if (it4 != exifData.end() && it4->count())
             height = it4->toLong();
 
         if (width != -1 && height != -1)
@@ -230,7 +230,7 @@
         Exiv2::ExifKey minoltaKey1("Exif.MinoltaCs7D.Rotation");
         it = exifData.findKey(minoltaKey1);
 
-        if (it != exifData.end())
+        if (it != exifData.end() && it->count())
         {
             orientation = it->toLong();
             kDebug(51003) << "Orientation => Exif.MinoltaCs7D.Rotation => " << (int)orientation << endl;
@@ -249,7 +249,7 @@
         Exiv2::ExifKey minoltaKey2("Exif.MinoltaCs5D.Rotation");
         it = exifData.findKey(minoltaKey2);
 
-        if (it != exifData.end())
+        if (it != exifData.end() && it->count())
         {
             orientation = it->toLong();
             kDebug(51003) << "Orientation => Exif.MinoltaCs5D.Rotation => " << (int)orientation << endl;
@@ -270,7 +270,7 @@
         Exiv2::ExifKey keyStd("Exif.Image.Orientation");
         it = exifData.findKey(keyStd);
 
-        if (it != exifData.end())
+        if (it != exifData.end() && it->count())
         {
             orientation = it->toLong();
             kDebug(51003) << "Orientation => Exif.Image.Orientation => " << (int)orientation << endl;
@@ -357,7 +357,7 @@
 
         Exiv2::ExifKey thumbKey("Exif.Thumbnail.Orientation");
         it = d->exifMetadata().findKey(thumbKey);
-        if (it != d->exifMetadata().end())
+        if (it != d->exifMetadata().end() && it->count())
         {
             RotationMatrix operation((KExiv2Iface::KExiv2::ImageOrientation)it->toLong());
             operation *= orientation;