1 |
dilfridge 11/02/27 13:54:03 |
2 |
|
3 |
Added: kphotoalbum-4.1.1-exiv2.patch |
4 |
Log: |
5 |
Added upstream patch to fix compilation with exiv2-0.21, bug 349535 |
6 |
|
7 |
(Portage version: 2.1.9.41/cvs/Linux x86_64) |
8 |
|
9 |
Revision Changes Path |
10 |
1.1 media-gfx/kphotoalbum/files/kphotoalbum-4.1.1-exiv2.patch |
11 |
|
12 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-gfx/kphotoalbum/files/kphotoalbum-4.1.1-exiv2.patch?rev=1.1&view=markup |
13 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-gfx/kphotoalbum/files/kphotoalbum-4.1.1-exiv2.patch?rev=1.1&content-type=text/plain |
14 |
|
15 |
Index: kphotoalbum-4.1.1-exiv2.patch |
16 |
=================================================================== |
17 |
--- trunk/extragear/graphics/kphotoalbum/Exif/Info.cpp 2011/01/09 06:47:21 1213127 |
18 |
+++ trunk/extragear/graphics/kphotoalbum/Exif/Info.cpp 2011/01/09 06:50:40 1213128 |
19 |
@@ -106,6 +106,28 @@ |
20 |
return res; |
21 |
|
22 |
QList<const Exiv2::TagInfo*> tags; |
23 |
+ std::ostringstream s; |
24 |
+ |
25 |
+#if (EXIV2_TEST_VERSION(0,21,0)) |
26 |
+ const Exiv2::GroupInfo* gi = Exiv2::ExifTags::groupList(); |
27 |
+ while (gi->tagList_ != 0) { |
28 |
+ Exiv2::TagListFct tl = gi->tagList_; |
29 |
+ const Exiv2::TagInfo* ti = tl(); |
30 |
+ |
31 |
+ while (ti->tag_ != 0xFFFF) { |
32 |
+ tags << ti; |
33 |
+ ++ti; |
34 |
+ } |
35 |
+ ++gi; |
36 |
+ } |
37 |
+ |
38 |
+ for (QList<const Exiv2::TagInfo*>::iterator it = tags.begin(); it != tags.end(); ++it) { |
39 |
+ while ( (*it)->tag_ != 0xffff ) { |
40 |
+ res.insert(QString::fromLatin1(Exiv2::ExifKey(**it).key().c_str())); |
41 |
+ ++(*it); |
42 |
+ } |
43 |
+ } |
44 |
+#else |
45 |
tags << |
46 |
Exiv2::ExifTags::ifdTagList() << |
47 |
Exiv2::ExifTags::exifTagList() << |
48 |
@@ -121,7 +143,6 @@ |
49 |
// Now the ugly part -- exiv2 doesn't have any way to get a list of |
50 |
// MakerNote tags in a reasonable form, so we have to parse it from strings |
51 |
|
52 |
- std::ostringstream s; |
53 |
for ( Exiv2::IfdId kind = Exiv2::canonIfdId; kind < Exiv2::lastIfdId; |
54 |
kind = static_cast<Exiv2::IfdId>( kind + 1 ) ) { |
55 |
#if EXIV2_TEST_VERSION(0,17,0) |
56 |
@@ -130,6 +151,7 @@ |
57 |
Exiv2::ExifTags::makerTaglist( s, kind ); |
58 |
#endif |
59 |
} |
60 |
+#endif |
61 |
|
62 |
// IPTC tags use yet another format... |
63 |
Exiv2::IptcDataSets::dataSetList( s ); |