Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 349206
Collapse All | Expand All

(-)a/krita/ui/kisexiv2/kis_exif_io.cpp (+16 lines)
Lines 406-412 bool KisExifIO::saveTo(KisMetaData::Store* store, QIODevice* ioDevice, HeaderTyp Link Here
406
                v = kmdIntOrderedArrayToExifArray(entry.value());
406
                v = kmdIntOrderedArrayToExifArray(entry.value());
407
            } else if (exivKey == "Exif.Image.Artist") { // load as dc:creator
407
            } else if (exivKey == "Exif.Image.Artist") { // load as dc:creator
408
                KisMetaData::Value creator = entry.value().asArray()[0];
408
                KisMetaData::Value creator = entry.value().asArray()[0];
409
#if EXIV2_MAJOR_VERSION == 0 && EXIV2_MINOR_VERSION <= 20
409
                v = kmdValueToExivValue(creator, Exiv2::ExifTags::tagType(exifKey.tag(), exifKey.ifdId()));
410
                v = kmdValueToExivValue(creator, Exiv2::ExifTags::tagType(exifKey.tag(), exifKey.ifdId()));
411
#else
412
                v = kmdValueToExivValue(creator, exifKey.defaultTypeId());
413
#endif
410
            } else if (exivKey == "Exif.Photo.OECF") {
414
            } else if (exivKey == "Exif.Photo.OECF") {
411
                v = kmdOECFStructureToExifOECF(entry.value());
415
                v = kmdOECFStructureToExifOECF(entry.value());
412
            } else if (exivKey == "Exif.Photo.DeviceSettingDescription") {
416
            } else if (exivKey == "Exif.Photo.DeviceSettingDescription") {
Lines 419-431 bool KisExifIO::saveTo(KisMetaData::Store* store, QIODevice* ioDevice, HeaderTyp Link Here
419
                Q_ASSERT(entry.value().type() == KisMetaData::Value::LangArray);
423
                Q_ASSERT(entry.value().type() == KisMetaData::Value::LangArray);
420
                QMap<QString, KisMetaData::Value> langArr = entry.value().asLangArray();
424
                QMap<QString, KisMetaData::Value> langArr = entry.value().asLangArray();
421
                if (langArr.contains("x-default")) {
425
                if (langArr.contains("x-default")) {
426
#if EXIV2_MAJOR_VERSION == 0 && EXIV2_MINOR_VERSION <= 20
422
                    v = kmdValueToExivValue(langArr.value("x-default"), Exiv2::ExifTags::tagType(exifKey.tag(), exifKey.ifdId()));
427
                    v = kmdValueToExivValue(langArr.value("x-default"), Exiv2::ExifTags::tagType(exifKey.tag(), exifKey.ifdId()));
428
#else
429
                    v = kmdValueToExivValue(langArr.value("x-default"), exifKey.defaultTypeId());
430
#endif
423
                } else if (langArr.size() > 0) {
431
                } else if (langArr.size() > 0) {
432
#if EXIV2_MAJOR_VERSION == 0 && EXIV2_MINOR_VERSION <= 20
424
                    v = kmdValueToExivValue(langArr.begin().value(), Exiv2::ExifTags::tagType(exifKey.tag(), exifKey.ifdId()));
433
                    v = kmdValueToExivValue(langArr.begin().value(), Exiv2::ExifTags::tagType(exifKey.tag(), exifKey.ifdId()));
434
#else
435
                    v = kmdValueToExivValue(langArr.begin().value(), exifKey.defaultTypeId());
436
#endif
425
                }
437
                }
426
            } else {
438
            } else {
427
                dbgFile << exifKey.tag();
439
                dbgFile << exifKey.tag();
440
#if EXIV2_MAJOR_VERSION == 0 && EXIV2_MINOR_VERSION <= 20
428
                v = kmdValueToExivValue(entry.value(), Exiv2::ExifTags::tagType(exifKey.tag(), exifKey.ifdId()));
441
                v = kmdValueToExivValue(entry.value(), Exiv2::ExifTags::tagType(exifKey.tag(), exifKey.ifdId()));
442
#else
443
                v = kmdValueToExivValue(entry.value(), exifKey.defaultTypeId());
444
#endif
429
            }
445
            }
430
            if (v && v->typeId() != Exiv2::invalidTypeId) {
446
            if (v && v->typeId() != Exiv2::invalidTypeId) {
431
                dbgFile << "Saving key" << exivKey; // << " of KMD value" << entry.value();
447
                dbgFile << "Saving key" << exivKey; // << " of KMD value" << entry.value();

Return to bug 349206