summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'media-gfx/gwenview/files/gwenview-1.4.2-exiv2.patch')
-rw-r--r--media-gfx/gwenview/files/gwenview-1.4.2-exiv2.patch47
1 files changed, 47 insertions, 0 deletions
diff --git a/media-gfx/gwenview/files/gwenview-1.4.2-exiv2.patch b/media-gfx/gwenview/files/gwenview-1.4.2-exiv2.patch
new file mode 100644
index 000000000000..afd1760f7210
--- /dev/null
+++ b/media-gfx/gwenview/files/gwenview-1.4.2-exiv2.patch
@@ -0,0 +1,47 @@
+# patch from Yar Odin <yarodin@gmail.com> in bug #254049
+--- src/imageutils/jpegcontent.cpp.orig 2009-01-09 22:54:12.000000000 +0500
++++ src/imageutils/jpegcontent.cpp 2009-01-09 22:56:48.000000000 +0500
+@@ -47,6 +47,17 @@
+ #include "imageutils/jpegcontent.h"
+ #include "imageutils/jpegerrormanager.h"
+
++// Make sure an EXIV2_TEST_VERSION macro exists:
++
++#ifdef EXIV2_VERSION
++# ifndef EXIV2_TEST_VERSION
++# define EXIV2_TEST_VERSION(major,minor,patch) \
++ ( EXIV2_VERSION >= EXIV2_MAKE_VERSION(major,minor,patch) )
++# endif
++#else
++# define EXIV2_TEST_VERSION(major,minor,patch) (false)
++#endif
++
+ namespace ImageUtils {
+
+ const int INMEM_DST_DELTA=4096;
+@@ -589,7 +600,12 @@
+ QImage JPEGContent::thumbnail() const {
+ QImage image;
+ if (!d->mExifData.empty()) {
++#if (EXIV2_TEST_VERSION(0,17,91))
++ Exiv2::ExifThumbC thumb(d->mExifData);
++ Exiv2::DataBuf const thumbnail = thumb.copy();
++#else
+ Exiv2::DataBuf thumbnail = d->mExifData.copyThumbnail();
++#endif
+ image.loadFromData(thumbnail.pData_, thumbnail.size_);
+ }
+ return image;
+@@ -611,7 +627,12 @@
+ return;
+ }
+
++#if (EXIV2_TEST_VERSION(0,17,91))
++ Exiv2::ExifThumb thumb(d->mExifData);
++ thumb.setJpegThumbnail((unsigned char*)array.data(), array.size());
++#else
+ d->mExifData.setJpegThumbnail((unsigned char*)array.data(), array.size());
++#endif
+ }
+
+