--- 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;