<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.kde.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugs.kde.org/"
          
          maintainer="sysadmin@kde.org"
>

    <bug>
          <bug_id>134486</bug_id>
          
          <creation_ts>2006-09-22 07:23:31 +0000</creation_ts>
          <short_desc>Keywords are not written by Exiv2 to raw files even though they do embed iptc/exif - Use ExifTool instead</short_desc>
          <delta_ts>2022-04-08 03:37:22 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>2</classification_id>
          <classification>Applications</classification>
          <product>digikam</product>
          <component>Metadata-ExifTool</component>
          <version>0.9.0</version>
          <rep_platform>openSUSE</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>NOR</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Peter Jakobs">pjakobs</reporter>
          <assigned_to name="Digikam Developers">digikam-bugs-null</assigned_to>
          <cc>caulier.gilles</cc>
    
    <cc>taz_007</cc>
          
          <cf_commitlink>https://invent.kde.org/graphics/digikam/commit/80ecdd9980c6cf14789606455bf9d367c1ffef51</cf_commitlink>
          <cf_versionfixedin>8.0.0</cf_versionfixedin>
          <cf_sentryurl></cf_sentryurl>
          <votes>20</votes>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>471867</commentid>
    <comment_count>0</comment_count>
    <who name="Peter Jakobs">pjakobs</who>
    <bug_when>2006-09-22 07:23:31 +0000</bug_when>
    <thetext>Version:           0.9.0-beta2 (using KDE KDE 3.4.2)
Installed from:    SuSE RPMs
OS:                Linux

metadata info is not written into raw image files even if the format (like Canon raw .cr2) does support both exif and iptc. This is pretty annoying as it basically means that digikam cannot be the first tool in the workflow (which would be download-&gt;tag(digikam)-&gt;raw convert-&gt;postprocess-&gt;publish). As the raw converter would keep any exif/iptc information, the tagging would be ok for the whole chain if it was written to the original raw file. Right now, I have to come back to the converted images and tag them again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>471868</commentid>
    <comment_count>1</comment_count>
    <who name="">caulier.gilles</who>
    <bug_when>2006-09-22 07:48:29 +0000</bug_when>
    <thetext>This is currently a limitation on Exiv2 library, witch manage metadata workflow. Actually Exiv25 can only write on JPEG file. Normally, next release will support writting for PNG, and TIFF/RAW.

Gilles Caulier

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>471872</commentid>
    <comment_count>2</comment_count>
    <who name="">caulier.gilles</who>
    <bug_when>2006-09-22 08:08:51 +0000</bug_when>
    <thetext>*** Bug 134487 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>553261</commentid>
    <comment_count>3</comment_count>
      <attachid>21986</attachid>
    <who name="Piotr Tarnowski">piotr_tarnowski</who>
    <bug_when>2007-11-02 23:41:20 +0000</bug_when>
    <thetext>Created attachment 21986
Temporary solution for storing iptc and exif in alternate file

provied patch (for 0.9.2-final) uses alternate jpg files to store iptc and exif
data when storing in original file is not supported. I wrote it because I need
to preserve this information for TIFF files but it can also be useful in
another case: like readonly filesystem, readonly image or even metadata
(keywords, comments rating) shared by more than one image. The location of
alternate image is defined in file named &quot;.digikam.alt.txt&quot; (or
&quot;digikam.alt.txt&quot;) which is searched in album&apos;s directory and all directories
above: Here is sample content of this file:
-----------------
# comment
map .*[.]jpg 
map (.*)/([^/]+) .$1/$2.alt.jpg
break
next 
-----------------

# - comment line
map fromRegExp to - defines transformation of original path to path of
alternate file
map skipRegExp - matched files do not have alternate files
next - do to dir up ignoring rest of this file
break - stop searching

The rule is that first match wins.
When writing if alternate file is present it is used, if not present first
attempt is made to write to original file and if this fails to alternate

When reading if alternate file is present it is used otherwise original file is
read.

I know it should be implemented in kexiv2 and I&apos;m going to do so (so that kipi
plugins can use this).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>553264</commentid>
    <comment_count>4</comment_count>
    <who name="Piotr Tarnowski">piotr_tarnowski</who>
    <bug_when>2007-11-03 00:50:11 +0000</bug_when>
    <thetext>Mistake, should be:
map (.*)/([^/]+) $1/.$2.alt.jpg 

example: /2007/2007-01/x.tiff =&gt;  /2007/2007-01/.x.tiff.alt.jpg</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>553291</commentid>
    <comment_count>5</comment_count>
    <who name="">caulier.gilles</who>
    <bug_when>2007-11-03 09:00:09 +0000</bug_when>
    <thetext>Piotr,

You re-invent the sidecar file (:=)))...

This must be done using a standardized way : XMP.

Why ? To support interoperability between others photomanagement program.

Read the XMP spec page 36 :

http://www.adobe.com/devnet/xmp/pdfs/xmp_specification.pdf

digiKam 0.10.0 (KDE4 support XMP). Only this way must be used.

Note : be patient. Exiv2 tiff write support will be the next major feature implemented (after Exiv2 0.16 release planed in december 2007)

Gilles Caulier</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>638982</commentid>
    <comment_count>6</comment_count>
    <who name="">caulier.gilles</who>
    <bug_when>2008-08-19 10:13:54 +0000</bug_when>
    <thetext>*** Bug 168064 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>638985</commentid>
    <comment_count>7</comment_count>
    <who name="">caulier.gilles</who>
    <bug_when>2008-08-19 10:21:14 +0000</bug_when>
    <thetext>Hi all,

I have good news about this report. Current svn implementation of Exiv2 (next
0.18 release) start to support writting mode to RAW file based on TIFF/EP
format.

The first RAW file supported are DNG (Adobe), NEF (Nikon) and PEF (Pentax).

Others will come later of course, but we need help with Exiv2 project to
improve it (tests, reports, etc...)

I CC below the Andreas Huggel message from Exiv2 mailing list for details:

// ----------------------------------------------------------------

After some more tweaking, exiv2 can by now successfully write to
standard TIFF, TIFF/EP, DNG, NEF and PEF images. SR2 works almost
(parts of the makernote are lost) while writing to ARW images will
still corrupt the picture.

&quot;Writing to the image successfully&quot; means that after modifying or
adding any metadata, incl IPTC and XMP, the image structure as
reported by exifprobe is intact and it is possible to view the image
using ufraw or digiKam without any new errors or warnings.

However, I have no proprietary RAW viewer software to test with and
only a very limited number of sample images for these TIFF-like RAW
formats.

So please go ahead and do your own tests and report your successes and
problems here.

Andreas

// ----------------------------------------------------------------

Thanks in advance for your help

Gilles Caulier</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639649</commentid>
    <comment_count>8</comment_count>
    <who name="">caulier.gilles</who>
    <bug_when>2008-08-21 08:50:59 +0000</bug_when>
    <thetext>There is a screenshot of XMP metadata editing into a NEF file in flickr digiKam group:

http://farm4.static.flickr.com/3177/2783702020_12ff045dbf_o.png

So for me I close this entry now. All is ready from digiKam, kipi-plugins, and libkexiv2 to be able to play with RAW metadata. This include KDE3 and KDE4 versions.

Note than all future improvements will come from Exiv2 library, especially to support others RAW formats in writting mode.

Note that if you have a RAW camera which is not yet supported by Exiv2 in writting mode, unforget that digiKam host metadata into a database and that you can sync RAW file metadata later in batch using &quot;Tools/Update Metadata Database&quot; menu entry, with a future improved Exiv2.

Gilles Caulier</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2029857</commentid>
    <comment_count>9</comment_count>
    <who name="">caulier.gilles</who>
    <bug_when>2021-05-04 10:00:36 +0000</bug_when>
    <thetext>

*** This bug has been marked as a duplicate of bug 326408 ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2031051</commentid>
    <comment_count>10</comment_count>
    <who name="">caulier.gilles</who>
    <bug_when>2021-05-08 16:51:25 +0000</bug_when>
    <thetext>Git commit 434f065e74282cbb9335c2cc4db256007ca2ae5d by Gilles Caulier.
Committed on 08/05/2021 at 16:46.
Pushed by cgilles into branch &apos;master&apos;.

ExifTool support: add new method to get list of changes operated on metadata. The goal is to make a temporary EXV file to pass later to ExifTool to patch target file.
Related: bug 170693, bug 219856, bug 237504, bug 264210, bug 309341, bug 325458, bug 326408, bug 377622, bug 384092, bug 406540, bug 416516, bug 421464, bug 436286

M  +162  -0    core/libs/metadataengine/engine/metaengine.cpp
M  +5    -0    core/libs/metadataengine/engine/metaengine.h
M  +0    -1    core/libs/metadataengine/engine/metaengine_p.cpp

https://invent.kde.org/graphics/digikam/commit/434f065e74282cbb9335c2cc4db256007ca2ae5d</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2031188</commentid>
    <comment_count>11</comment_count>
    <who name="">caulier.gilles</who>
    <bug_when>2021-05-09 08:33:38 +0000</bug_when>
    <thetext>Git commit 2cb42fd246428932edd2049c59def826dcc9a420 by Gilles Caulier.
Committed on 09/05/2021 at 08:13.
Pushed by cgilles into branch &apos;master&apos;.

ExifTool support: now export the list of tags changes from Exif, Iptc, and Xmp in a temporary EXV file.
We will pass later this file to ExifTool to patch target file.
Related: bug 170693, bug 219856, bug 237504, bug 264210, bug 309341, bug 325458, bug 326408, bug 377622, bug 384092, bug 406540, bug 416516, bug 421464, bug 436286

M  +0    -186  core/libs/metadataengine/engine/metaengine.cpp
M  +8    -5    core/libs/metadataengine/engine/metaengine.h
M  +196  -0    core/libs/metadataengine/engine/metaengine_fileio.cpp
M  +4    -4    core/tests/metadataengine/CMakeLists.txt
R  +5    -4    core/tests/metadataengine/exportchanges_cli.cpp [from: core/tests/metadataengine/dmetadatadiff_cli.cpp - 082% similarity]

https://invent.kde.org/graphics/digikam/commit/2cb42fd246428932edd2049c59def826dcc9a420</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2031241</commentid>
    <comment_count>12</comment_count>
    <who name="">caulier.gilles</who>
    <bug_when>2021-05-09 13:17:36 +0000</bug_when>
    <thetext>Git commit 2ef074a3f5c239bf4674c4cdda5bf99f511d8ae0 by Gilles Caulier.
Committed on 09/05/2021 at 13:04.
Pushed by cgilles into branch &apos;master&apos;.

ExifTool support: add new method to apply list of changes operated on metadata.
A temporary EXV file constainer is computed with the list of changes to operated on Exif, Iptc, and Xmp.
This EXV file is processed with ExifTool to patch metadata.
Add new CLI test tool to try apply changes with EXV constainer. Here the file is patched with DMetadata::setImageDateTime()
which change or add new tags in Exif, Iptc, and Xmp

Exemple of changes processed to a CR3 raw image:

CR3 ORIGINAL:

exiftool -G:0:1:2:4 -exif:all -xmp:all 2020-09-22_21-27-23_0C4A1060.CR3_original
[EXIF:IFD0:Image] Image Width                   : 8192
[EXIF:IFD0:Image] Image Height                  : 5464
[EXIF:IFD0:Image] Bits Per Sample               : 8 8 8
[EXIF:IFD0:Image] Compression                   : JPEG (old-style)
[EXIF:IFD0:Camera] Make                         : Canon
[EXIF:IFD0:Camera] Camera Model Name            : Canon EOS R5
[EXIF:IFD0:Image] Orientation                   : Rotate 90 CW
[EXIF:IFD0:Image] Resolution Unit               : inches
[EXIF:IFD0:Author] Artist                       : kdmurray
[EXIF:IFD0:Author] Copyright                    :
[EXIF:ExifIFD:Image] Exposure Time              : 1/200
[EXIF:ExifIFD:Image] F Number                   : 10.0
[EXIF:ExifIFD:Camera] Exposure Program          : Manual
[EXIF:ExifIFD:Image] ISO                        : 400
[EXIF:ExifIFD:Image] Sensitivity Type           : Recommended Exposure Index
[EXIF:ExifIFD:Image] Recommended Exposure Index : 400
[EXIF:ExifIFD:Image] Exif Version               : 0231
[EXIF:ExifIFD:Time] Date/Time Original          : 2020:09:22 21:27:23
[EXIF:ExifIFD:Time] Offset Time                 : +10:00
[EXIF:ExifIFD:Time] Offset Time Original        : +10:00
[EXIF:ExifIFD:Time] Offset Time Digitized       : +10:00
[EXIF:ExifIFD:Image] Components Configuration   : Y, Cb, Cr, -
[EXIF:ExifIFD:Image] Shutter Speed Value        : 1/197
[EXIF:ExifIFD:Image] Aperture Value             : 9.9
[EXIF:ExifIFD:Camera] Flash                     : On, Fired
[EXIF:ExifIFD:Camera] Focal Length              : 90.0 mm
[EXIF:ExifIFD:Image] User Comment               :
[EXIF:ExifIFD:Time] Sub Sec Time                : 59
[EXIF:ExifIFD:Time] Sub Sec Time Original       : 59
[EXIF:ExifIFD:Time] Sub Sec Time Digitized      : 59
[EXIF:ExifIFD:Image] Flashpix Version           : 0100
[EXIF:ExifIFD:Image] Exif Image Width           : 8192
[EXIF:ExifIFD:Image] Exif Image Height          : 5464
[EXIF:ExifIFD:Camera] Focal Plane X Resolution  : 5773.079634
[EXIF:ExifIFD:Camera] Focal Plane Y Resolution  : 5769.799366
[EXIF:ExifIFD:Camera] Focal Plane Resolution Unit: inches
[EXIF:ExifIFD:Image] Custom Rendered            : Normal
[EXIF:ExifIFD:Camera] Exposure Mode             : Manual
[EXIF:ExifIFD:Camera] Scene Capture Type        : Standard
[EXIF:ExifIFD:Image] Serial Number              : 035021000124
[EXIF:ExifIFD:Image] Lens Info                  : 90mm f/0
[EXIF:ExifIFD:Image] Lens Serial Number         : 0000000000
[EXIF:GPS:Location] GPS Version ID              : 2.3.0.0
[EXIF:GPS:Location] GPS Altitude Ref            : Above Sea Level
[EXIF:GPS:Location] GPS Satellites              :
[EXIF:GPS:Location] GPS Status                  : Unknown ()
[EXIF:GPS:Location] GPS Measure Mode            : Unknown ()
[XMP:XMP-xmp:Image] Rating                      : 0

*EXV constainer generated:

exiftool -G:0:1:2:4 -exif:all -xmp:all 2020-09-22_21-27-23_0C4A1060_changes.exv
[XMP:XMP-x:Document] XMP Toolkit                : XMP Core 4.4.0-Exiv2
[XMP:XMP-exif:Time] Date/Time Original          : 2021:05:09 15:02:43
[XMP:XMP-exif:Time] Date/Time Digitized         : 2021:05:09 15:02:43
[XMP:XMP-tiff:Time] Date/Time Modified          : 2021:05:09 15:02:43
[XMP:XMP-xmp:Time] Create Date                  : 2021:05:09 15:02:43
[XMP:XMP-xmp:Time] Metadata Date                : 2021:05:09 15:02:43
[XMP:XMP-xmp:Time] Modify Date                  : 2021:05:09 15:02:43

*CR3 PATCHED:

exiftool]$ exiftool -G:0:1:2:4 -exif:all -xmp:all 2020-09-22_21-27-23_0C4A1060.CR3
[EXIF:IFD0:Image] Image Width                   : 8192
[EXIF:IFD0:Image] Image Height                  : 5464
[EXIF:IFD0:Image] Bits Per Sample               : 8 8 8
[EXIF:IFD0:Image] Compression                   : JPEG (old-style)
[EXIF:IFD0:Camera] Make                         : Canon
[EXIF:IFD0:Camera] Camera Model Name            : Canon EOS R5
[EXIF:IFD0:Image] Orientation                   : Rotate 90 CW
[EXIF:IFD0:Image] Resolution Unit               : inches
[EXIF:IFD0:Author] Artist                       : kdmurray
[EXIF:IFD0:Author] Copyright                    :
[EXIF:ExifIFD:Image] Exposure Time              : 1/200
[EXIF:ExifIFD:Image] F Number                   : 10.0
[EXIF:ExifIFD:Camera] Exposure Program          : Manual
[EXIF:ExifIFD:Image] ISO                        : 400
[EXIF:ExifIFD:Image] Sensitivity Type           : Recommended Exposure Index
[EXIF:ExifIFD:Image] Recommended Exposure Index : 400
[EXIF:ExifIFD:Image] Exif Version               : 0231
[EXIF:ExifIFD:Time] Offset Time                 : +10:00
[EXIF:ExifIFD:Time] Offset Time Original        : +10:00
[EXIF:ExifIFD:Time] Offset Time Digitized       : +10:00
[EXIF:ExifIFD:Image] Components Configuration   : Y, Cb, Cr, -
[EXIF:ExifIFD:Image] Shutter Speed Value        : 1/197
[EXIF:ExifIFD:Image] Aperture Value             : 9.9
[EXIF:ExifIFD:Camera] Flash                     : On, Fired
[EXIF:ExifIFD:Camera] Focal Length              : 90.0 mm
[EXIF:ExifIFD:Image] User Comment               :
[EXIF:ExifIFD:Time] Sub Sec Time                : 59
[EXIF:ExifIFD:Time] Sub Sec Time Original       : 59
[EXIF:ExifIFD:Time] Sub Sec Time Digitized      : 59
[EXIF:ExifIFD:Image] Flashpix Version           : 0100
[EXIF:ExifIFD:Image] Exif Image Width           : 8192
[EXIF:ExifIFD:Image] Exif Image Height          : 5464
[EXIF:ExifIFD:Camera] Focal Plane X Resolution  : 5773.079634
[EXIF:ExifIFD:Camera] Focal Plane Y Resolution  : 5769.799366
[EXIF:ExifIFD:Camera] Focal Plane Resolution Unit: inches
[EXIF:ExifIFD:Image] Custom Rendered            : Normal
[EXIF:ExifIFD:Camera] Exposure Mode             : Manual
[EXIF:ExifIFD:Camera] Scene Capture Type        : Standard
[EXIF:ExifIFD:Image] Serial Number              : 035021000124
[EXIF:ExifIFD:Image] Lens Info                  : 90mm f/0
[EXIF:ExifIFD:Image] Lens Serial Number         : 0000000000
[EXIF:GPS:Location] GPS Version ID              : 2.3.0.0
[EXIF:GPS:Location] GPS Altitude Ref            : Above Sea Level
[EXIF:GPS:Location] GPS Satellites              :
[EXIF:GPS:Location] GPS Status                  : Unknown ()
[EXIF:GPS:Location] GPS Measure Mode            : Unknown ()
[XMP:XMP-x:Document] XMP Toolkit                : Image::ExifTool 12.00
[XMP:XMP-exif:Time] Date/Time Digitized         : 2021:05:09 15:02:43           &lt;====!
[XMP:XMP-exif:Time] Date/Time Original          : 2021:05:09 15:02:43           &lt;====!
[XMP:XMP-photoshop:Time] Date Created           : 2021:05:09 15:02:43           &lt;====!
[XMP:XMP-tiff:Time] Date/Time Modified          : 2021:05:09 15:02:43           &lt;====!
[XMP:XMP-xmp:Time] Create Date                  : 2021:05:09 15:02:43           &lt;====!
[XMP:XMP-xmp:Time] Metadata Date                : 2021:05:09 15:02:43           &lt;====!
[XMP:XMP-xmp:Time] Modify Date                  : 2021:05:09 15:02:43           &lt;====!
[XMP:XMP-xmp:Image] Rating                      : 0
Related: bug 170693, bug 219856, bug 237504, bug 264210, bug 309341, bug 325458, bug 326408, bug 377622, bug 384092, bug 406540, bug 416516, bug 421464, bug 436286

M  +12   -2    core/libs/metadataengine/exiftool/exiftoolparser.h
M  +32   -0    core/libs/metadataengine/exiftool/exiftoolparser_command.cpp
M  +6    -0    core/libs/metadataengine/exiftool/exiftoolparser_output.cpp
M  +1    -0    core/libs/metadataengine/exiftool/exiftoolprocess.h
M  +2    -1    core/tests/metadataengine/exiftool/CMakeLists.txt
C  +20   -19   core/tests/metadataengine/exiftool/exiftoolapplychanges_cli.cpp [from: core/tests/metadataengine/exiftool/exiftoolwrite_cli.cpp - 059% similarity]
M  +1    -1    core/tests/metadataengine/exiftool/exiftoolwrite_cli.cpp

https://invent.kde.org/graphics/digikam/commit/2ef074a3f5c239bf4674c4cdda5bf99f511d8ae0</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2032938</commentid>
    <comment_count>13</comment_count>
    <who name="">caulier.gilles</who>
    <bug_when>2021-05-15 15:20:40 +0000</bug_when>
    <thetext>Git commit 5507cb4c7779f42321d751d3788ee18562df6c9d by Gilles Caulier.
Committed on 15/05/2021 at 15:14.
Pushed by cgilles into branch &apos;master&apos;.

ExifToolParser: new command to copy tags from source file to a destination file.
Related: bug 170693, bug 219856, bug 237504, bug 264210, bug 309341, bug 325458, bug 326408, bug 377622, bug 384092, bug 406540, bug 416516, bug 421464, bug 436286, bug 381967

M  +7    -0    core/libs/metadataengine/exiftool/exiftoolparser.h
M  +64   -0    core/libs/metadataengine/exiftool/exiftoolparser_command.cpp
M  +17   -1    core/libs/metadataengine/exiftool/exiftoolprocess.h

https://invent.kde.org/graphics/digikam/commit/5507cb4c7779f42321d751d3788ee18562df6c9d</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2033058</commentid>
    <comment_count>14</comment_count>
    <who name="">caulier.gilles</who>
    <bug_when>2021-05-16 10:14:32 +0000</bug_when>
    <thetext>Git commit 8f332525788359d2c13c3e029bfb1b956dd5a4d2 by Gilles Caulier.
Committed on 16/05/2021 at 10:09.
Pushed by cgilles into branch &apos;master&apos;.

DNGWriter : include ExifTool Error View in Settings Widget.
Fix API to check ExifTool program availability.
Factoring codes.
Related: bug 170693, bug 219856, bug 237504, bug 264210, bug 309341, bug 325458, bug 326408, bug 377622, bug 384092, bug 406540, bug 416516, bug 421464, bug 436286, bug 381967

M  +29   -5    core/libs/dngwriter/dngsettings.cpp
M  +6    -0    core/libs/dngwriter/dngsettings.h
M  +3    -10   core/libs/metadataengine/exiftool/exiftoolparser.cpp
M  +4    -1    core/libs/metadataengine/exiftool/exiftoolparser.h
M  +31   -21   core/libs/metadataengine/exiftool/exiftoolprocess.cpp
M  +2    -0    core/libs/metadataengine/exiftool/exiftoolprocess.h

https://invent.kde.org/graphics/digikam/commit/8f332525788359d2c13c3e029bfb1b956dd5a4d2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2033258</commentid>
    <comment_count>15</comment_count>
    <who name="">caulier.gilles</who>
    <bug_when>2021-05-17 04:02:09 +0000</bug_when>
    <thetext>Git commit 067a15c4ed14d75eb2ce3cc725fcba709131392e by Gilles Caulier.
Committed on 17/05/2021 at 03:57.
Pushed by cgilles into branch &apos;master&apos;.

DPlugin interface; add new method to be able to open an host application setup dialog page from a plugin.
DNGWriter: add ExifTool error view to settings Widget. If ExifTool is not available, show error view and allow
Related: bug 170693, bug 219856, bug 237504, bug 264210, bug 309341, bug 325458, bug 326408, bug 377622, bug 384092, bug 406540, bug 416516, bug 421464, bug 436286, bug 381967
to customize installation from configuration panel.

M  +1    -1    core/app/main/digikamapp.cpp
M  +1    -0    core/app/main/digikamapp_p.h
M  +28   -0    core/dplugins/bqm/convert/converttodng/converttodng.cpp
M  +1    -1    core/dplugins/bqm/convert/converttodng/converttodng.h
M  +20   -1    core/libs/database/utils/ifaces/dbinfoiface.cpp
M  +2    -0    core/libs/database/utils/ifaces/dbinfoiface.h
M  +5    -1    core/libs/dngwriter/dngsettings.cpp
M  +4    -4    core/libs/dngwriter/dngwriter_postprocess.cpp
M  +4    -1    core/libs/dplugins/iface/dinfointerface.cpp
M  +13   -0    core/libs/dplugins/iface/dinfointerface.h
M  +1    -1    core/libs/metadataengine/exiftool/exiftoolparser.cpp
M  +6    -6    core/libs/widgets/metadata/exiftool/exiftoolconfpanel.cpp
M  +1    -1    core/libs/widgets/metadata/exiftool/exiftoollistview.cpp
M  +1    -0    core/showfoto/CMakeLists.txt
M  +1    -1    core/showfoto/main/showfoto.cpp
M  +2    -1    core/showfoto/main/showfoto_p.h
A  +66   -0    core/showfoto/main/showfotoinfoiface.cpp     [License: GPL (v2+)]
A  +51   -0    core/showfoto/main/showfotoinfoiface.h     [License: GPL (v2+)]
M  +2    -2    core/tests/metadataengine/exiftool/exiftoolmulticore_cli.cpp
M  +14   -1    core/utilities/queuemanager/dplugins/dpluginbqm.cpp
M  +7    -0    core/utilities/queuemanager/dplugins/dpluginbqm.h
M  +1    -0    core/utilities/queuemanager/main/queuemgrwindow.h
M  +10   -0    core/utilities/queuemanager/manager/batchtoolsfactory.cpp
M  +3    -0    core/utilities/queuemanager/manager/batchtoolsfactory.h

https://invent.kde.org/graphics/digikam/commit/067a15c4ed14d75eb2ce3cc725fcba709131392e</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2115962</commentid>
    <comment_count>16</comment_count>
    <who name="">caulier.gilles</who>
    <bug_when>2022-04-07 04:58:25 +0000</bug_when>
    <thetext>Git commit 3a672f38cda7738356f19707a6a634ca91c269e6 by Gilles Caulier.
Committed on 07/04/2022 at 04:45.
Pushed by cgilles into branch &apos;master&apos;.

Write metadata with ExifTool backend if Exiv2 fails to process, for exemple with RAW files or Video files.
Tested successfuly with a MP4 video to insert a comment.
For RAW and other king of files as MPO or JPEG with more than 64kB of Exif segement, Exiv2 must be bannned to uses in cases of writting operations as files can be corrupted.
This require more regression tests to validate ExifTool uses in place of Exiv2.
Related: bug 406540, bug 416516, bug 237504, bug 384092, bug 264210, bug 326408, bug 421464, bug 309341, bug 219856, bug 377622, bug 325458, bug 170693, bug 448729, bug 338075, bug 436876, bug 366348

M  +1    -0    core/libs/metadataengine/dmetadata/dmetadata.h
M  +43   -0    core/libs/metadataengine/dmetadata/dmetadata_exiftool.cpp
M  +49   -3    core/libs/metadataengine/dmetadata/dmetadata_fileio.cpp
M  +2    -2    core/libs/metadataengine/exiftool/exiftoolparser.h

https://invent.kde.org/graphics/digikam/commit/3a672f38cda7738356f19707a6a634ca91c269e6</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2116174</commentid>
    <comment_count>17</comment_count>
    <who name="">caulier.gilles</who>
    <bug_when>2022-04-08 03:37:22 +0000</bug_when>
    <thetext>Git commit 80ecdd9980c6cf14789606455bf9d367c1ffef51 by Gilles Caulier.
Committed on 08/04/2022 at 03:25.
Pushed by cgilles into branch &apos;master&apos;.

Use only ExifTool backend to write metadata to RAW files, as Exiv2 is fully unsafe with these kind of operations.
Reading and Writing metadata to video files is now delegate to ExifTool Backend too.
Related: bug 406540, bug 416516, bug 237504, bug 384092, bug 264210, bug 326408, bug 309341, bug 377622, bug 170693, bug 419801, bug 338075, bug 366348
FIXED-IN: 8.0.0

M  +1    -0    NEWS
M  +13   -0    core/libs/metadataengine/dmetadata/dmetadata_exiftool.cpp
M  +6    -52   core/libs/metadataengine/engine/metaengine_p.cpp
M  +4    -20   core/utilities/setup/metadata/setupmetadata.cpp
M  +3    -4    core/utilities/setup/metadata/setupmetadata_behavior.cpp

https://invent.kde.org/graphics/digikam/commit/80ecdd9980c6cf14789606455bf9d367c1ffef51</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>21986</attachid>
            <date>2007-11-02 23:41:20 +0000</date>
            <delta_ts>2007-11-02 23:41:20 +0000</delta_ts>
            <desc>Temporary solution for storing iptc and exif in alternate file</desc>
            <filename>altPath.patch</filename>
            <type>text/plain</type>
            <size>7359</size>
            <attacher name="Piotr Tarnowski">piotr_tarnowski</attacher>
            
              <data encoding="base64">SW5kZXg6IGRpZ2lrYW0vbGlicy9kbWV0YWRhdGEvZG1ldGFkYXRhLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBkaWdpa2FtL2xpYnMvZG1ldGFkYXRhL2RtZXRhZGF0YS5jcHAJKHdlcnNqYSA4MCkKKysrIGRp
Z2lrYW0vbGlicy9kbWV0YWRhdGEvZG1ldGFkYXRhLmNwcAkoa29waWEgcm9ib2N6YSkKQEAgLTIy
LDEwICsyMiwxNSBAQAogICogCiAgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KIAorI2luY2x1ZGUgPHN0ZGlvLmg+CisKIC8v
IFF0IGluY2x1ZGVzLgogCiAjaW5jbHVkZSA8cWRvbS5oPgogI2luY2x1ZGUgPHFmaWxlLmg+Cisj
aW5jbHVkZSA8cWZpbGVpbmZvLmg+CisjaW5jbHVkZSA8cXJlZ2V4cC5oPgorI2luY2x1ZGUgPHFk
aXIuaD4KIAogLy8gTGliS0RjcmF3IGluY2x1ZGVzLgogCkBAIC00MiwxNCArNDcsMTcgQEAKIG5h
bWVzcGFjZSBEaWdpa2FtCiB7CiAKKy8vUFRSOiBETWV0YWRhdGEKIERNZXRhZGF0YTo6RE1ldGFk
YXRhKCkKICAgICAgICAgIDogS0V4aXYySWZhY2U6OktFeGl2MigpCiB7CisgIGNoZWNrQWx0UGF0
aCA9IHRydWU7CiB9CiAKIERNZXRhZGF0YTo6RE1ldGFkYXRhKGNvbnN0IFFTdHJpbmcmIGZpbGVQ
YXRoKQogICAgICAgICAgOiBLRXhpdjJJZmFjZTo6S0V4aXYyKCkKIHsKKyAgICBjaGVja0FsdFBh
dGggPSB0cnVlOwogICAgIGxvYWQoZmlsZVBhdGgpOwogfQogCkBAIC01NywxOCArNjUsMTY0IEBA
CiB7CiB9CiAKK3ZvaWQgRE1ldGFkYXRhOjpzZXRDaGVja0FsdFBhdGgoYm9vbCBhQ2hlY2tBbHRQ
YXRoKQoreworICAgIGNoZWNrQWx0UGF0aCA9IGFDaGVja0FsdFBhdGg7Cit9CisKK2Jvb2wgRE1l
dGFkYXRhOjphcHBseUNoYW5nZXMoKQoreworICAgIHJldHVybiBzYXZlKGdldEZpbGVQYXRoKCkp
OworfQorCisvLyBQVFI6IHNhdmUKK2Jvb2wgRE1ldGFkYXRhOjpzYXZlKGNvbnN0IFFTdHJpbmcm
IGZpbGVQYXRoKQoreworICAgIFFTdHJpbmcgYUFsdFBhdGggPSBhbHRQYXRoKGZpbGVQYXRoKTsK
KyAgICBpZighIWFBbHRQYXRoKXsKKyAgICAgIFFGaWxlIGFBbHRGaWxlKGFBbHRQYXRoKTsKKyAg
ICAgIGlmKGFBbHRGaWxlLmV4aXN0cygpKQorICAgICAgICByZXR1cm4gS0V4aXYyOjpzYXZlKGFB
bHRQYXRoKTsKKyAgICB9CisgICAgaWYoS0V4aXYyOjpzYXZlKGZpbGVQYXRoKSkKKyAgICAgIHJl
dHVybiB0cnVlOworICAgIC8vIG9kIC10IHgxIC12IC13MTAgMXgxLmpwZworICAgIGNvbnN0IGNo
YXIgYUpwZ1tdID0gCisgICAgeworICAgICAgMHhmZiwgMHhkOCwgMHhmZiwgMHhlMCwgMHgwMCwg
MHgxMCwgMHg0YSwgMHg0NiwgMHg0OSwgMHg0NiwKKyAgICAgIDB4MDAsIDB4MDEsIDB4MDEsIDB4
MDEsIDB4MDAsIDB4NDgsIDB4MDAsIDB4NDgsIDB4MDAsIDB4MDAsCisgICAgICAweGZmLCAweGRi
LCAweDAwLCAweDQzLCAweDAwLCAweDAxLCAweDAxLCAweDAxLCAweDAxLCAweDAxLAorICAgICAg
MHgwMSwgMHgwMSwgMHgwMSwgMHgwMSwgMHgwMSwgMHgwMSwgMHgwMSwgMHgwMSwgMHgwMSwgMHgw
MSwKKyAgICAgIDB4MDEsIDB4MDEsIDB4MDEsIDB4MDEsIDB4MDEsIDB4MDEsIDB4MDEsIDB4MDEs
IDB4MDEsIDB4MDEsCisgICAgICAweDAxLCAweDAxLCAweDAxLCAweDAxLCAweDAxLCAweDAxLCAw
eDAxLCAweDAxLCAweDAxLCAweDAxLAorICAgICAgMHgwMSwgMHgwMSwgMHgwMSwgMHgwMSwgMHgw
MSwgMHgwMSwgMHgwMSwgMHgwMSwgMHgwMSwgMHgwMSwKKyAgICAgIDB4MDEsIDB4MDEsIDB4MDEs
IDB4MDEsIDB4MDEsIDB4MDEsIDB4MDEsIDB4MDEsIDB4MDEsIDB4MDEsCisgICAgICAweDAxLCAw
eDAxLCAweDAxLCAweDAxLCAweDAxLCAweDAxLCAweDAxLCAweDAxLCAweDAxLCAweGZmLAorICAg
ICAgMHhkYiwgMHgwMCwgMHg0MywgMHgwMSwgMHgwMSwgMHgwMSwgMHgwMSwgMHgwMSwgMHgwMSwg
MHgwMSwKKyAgICAgIDB4MDEsIDB4MDEsIDB4MDEsIDB4MDEsIDB4MDEsIDB4MDEsIDB4MDEsIDB4
MDEsIDB4MDEsIDB4MDEsCisgICAgICAweDAxLCAweDAxLCAweDAxLCAweDAxLCAweDAxLCAweDAx
LCAweDAxLCAweDAxLCAweDAxLCAweDAxLAorICAgICAgMHgwMSwgMHgwMSwgMHgwMSwgMHgwMSwg
MHgwMSwgMHgwMSwgMHgwMSwgMHgwMSwgMHgwMSwgMHgwMSwKKyAgICAgIDB4MDEsIDB4MDEsIDB4
MDEsIDB4MDEsIDB4MDEsIDB4MDEsIDB4MDEsIDB4MDEsIDB4MDEsIDB4MDEsCisgICAgICAweDAx
LCAweDAxLCAweDAxLCAweDAxLCAweDAxLCAweDAxLCAweDAxLCAweDAxLCAweDAxLCAweDAxLAor
ICAgICAgMHgwMSwgMHgwMSwgMHgwMSwgMHgwMSwgMHgwMSwgMHgwMSwgMHgwMSwgMHgwMSwgMHhm
ZiwgMHhjMCwKKyAgICAgIDB4MDAsIDB4MTEsIDB4MDgsIDB4MDAsIDB4MDEsIDB4MDAsIDB4MDEs
IDB4MDMsIDB4MDEsIDB4MjIsCisgICAgICAweDAwLCAweDAyLCAweDExLCAweDAxLCAweDAzLCAw
eDExLCAweDAxLCAweGZmLCAweGM0LCAweDAwLAorICAgICAgMHgxNSwgMHgwMCwgMHgwMSwgMHgw
MSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKyAgICAgIDB4MDAsIDB4MDAs
IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MGEsCisgICAgICAw
eGZmLCAweGM0LCAweDAwLCAweDE0LCAweDEwLCAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDAw
LAorICAgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg
MHgwMCwgMHgwMCwKKyAgICAgIDB4MDAsIDB4MDAsIDB4ZmYsIDB4YzQsIDB4MDAsIDB4MTQsIDB4
MDEsIDB4MDEsIDB4MDAsIDB4MDAsCisgICAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAw
LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAorICAgICAgMHgwMCwgMHgwMCwgMHgwMCwg
MHgwMCwgMHhmZiwgMHhjNCwgMHgwMCwgMHgxNCwgMHgxMSwgMHgwMSwKKyAgICAgIDB4MDAsIDB4
MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisgICAg
ICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweGZmLCAweGRhLCAweDAwLCAw
eDBjLAorICAgICAgMHgwMywgMHgwMSwgMHgwMCwgMHgwMiwgMHgxMSwgMHgwMywgMHgxMSwgMHgw
MCwgMHgzZiwgMHgwMCwKKyAgICAgIDB4YmYsIDB4ODAsIDB4MDEsIDB4ZmYsIDB4ZDkgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAKKyAgICB9OworICAgIEZJTEUgKiBhRmlsZSA9IGZvcGVu
KFFGaWxlOjplbmNvZGVOYW1lKGFBbHRQYXRoKSAsICJ3YiIpOworICAgIGZ3cml0ZShhSnBnICwg
c2l6ZW9mKGFKcGdbMF0pICwgc2l6ZW9mKGFKcGcpICwgYUZpbGUpOworICAgIGZjbG9zZShhRmls
ZSk7CisgICAgcmV0dXJuIEtFeGl2Mjo6c2F2ZShhQWx0UGF0aCk7Cit9CisKKy8vIFBUUjogYWx0
ZXJuYXRlIHN0b3JhZ2UgcGF0aAorUVN0cmluZyBETWV0YWRhdGE6OmFsdFBhdGgoY29uc3QgUVN0
cmluZyYgZmlsZVBhdGgpCit7CisgIFFSZWdFeHAgYVNwbGl0KCJcXHMiKTsKKyAgaWYoIWNoZWNr
QWx0UGF0aCkgcmV0dXJuIDA7CisgIFFTdHJpbmcgYUFsdFBhdGggPSAwOworICBRRmlsZUluZm8g
YUluZm8oZmlsZVBhdGgpOworICBRRGlyIGFEaXIgPSBhSW5mby5kaXIoLyphYnNQYXRoPSovdHJ1
ZSk7CisgIGRveworICAgIFFGaWxlIGFGaWxlKGFEaXIuZmlsZVBhdGgoImRpZ2lrYW0uYWx0LnR4
dCIpKTsKKyAgICBpZighYUZpbGUuZXhpc3RzKCkpCisgICAgeworICAgICAgYUZpbGUuc2V0TmFt
ZShhRGlyLmZpbGVQYXRoKCIuZGlnaWthbS5hbHQudHh0IikpOworICAgICAgaWYoIWFGaWxlLmV4
aXN0cygpKQorICAgICAgICBjb250aW51ZTsKKyAgICB9CisKKyAgICBpZighYUZpbGUub3BlbihJ
T19SZWFkT25seSkpCisgICAgICBjb250aW51ZTsKKworICAgIFFUZXh0U3RyZWFtIGFTdHJlYW0o
JmFGaWxlKTsKKyAgICBhU3RyZWFtLnNldEVuY29kaW5nKFFUZXh0U3RyZWFtOjpVbmljb2RlVVRG
OCk7CisgICAgUVN0cmluZyBhTGluZTsKKyAgICB3aGlsZSgoYUxpbmUgPSBhU3RyZWFtLnJlYWRM
aW5lKCkpICE9IDApCisgICAgeworICAgICAgYUxpbmUgPSBhTGluZS5zdHJpcFdoaXRlU3BhY2Uo
KTsKKyAgICAgIGlmKGFMaW5lLnN0YXJ0c1dpdGgoIiMiKSB8fCBhTGluZS5pc0VtcHR5KCkpCisg
ICAgICAgIGNvbnRpbnVlOworICAgICAgUVN0cmluZ0xpc3QgYVdvcmRMaXN0ID0gUVN0cmluZ0xp
c3Q6OnNwbGl0KGFTcGxpdCwgYUxpbmUpOworICAgICAgaWYoYVdvcmRMaXN0WzBdID09ICJicmVh
ayIpCisgICAgICB7CisgICAgICAgIGFBbHRQYXRoID0gIiI7CisgICAgICAgIGJyZWFrOworICAg
ICAgfQorICAgICAgaWYoYVdvcmRMaXN0WzBdID09ICJuZXh0IiB8fCBhV29yZExpc3RbMF0gIT0g
Im1hcCIgfHwgYVdvcmRMaXN0LmNvdW50KCkgPCAyKQorICAgICAgICBjb250aW51ZTsKKyAgICAg
IFFSZWdFeHAgYVBhdGhSZWdFeHAoYVdvcmRMaXN0WzFdKTsKKyAgICAgIGlmKCFhUGF0aFJlZ0V4
cC5leGFjdE1hdGNoKGZpbGVQYXRoKSkKKyAgICAgICAgY29udGludWU7CisgICAgICBpZihhV29y
ZExpc3QuY291bnQoKSA9PSAyKQorICAgICAgeworICAgICAgICBhQWx0UGF0aCA9ICIiOworICAg
ICAgICBicmVhazsKKyAgICAgIH0KKyAgICAgIFFTdHJpbmdMaXN0IGFDYXBMaXN0ID0gYVBhdGhS
ZWdFeHAuY2FwdHVyZWRUZXh0cygpOworICAgICAgYUFsdFBhdGggPSBhV29yZExpc3RbMl07Cisg
ICAgICBRUmVnRXhwIGFSZWZSZWdFeHAoIlskXShbJF18XFxkKykiKTsKKyAgICAgIGludCBpID0g
MDsKKyAgICAgIHdoaWxlKChpID0gYVJlZlJlZ0V4cC5zZWFyY2goYUFsdFBhdGgsIGkpKSAhPSAt
MSkKKyAgICAgIHsKKyAgICAgICAgUVN0cmluZyBhVG8gPSBhUmVmUmVnRXhwLmNhcCgxKTsKKyAg
ICAgICAgaWYoYVRvICE9ICIkIikKKyAgICAgICAgeworICAgICAgICAgIGludCBhQXQgPSBhVG8u
dG9JbnQoKTsKKyAgICAgICAgICBhVG8gPSAoYUF0IDwgMCB8fCBhQXQgPiBhQ2FwTGlzdC5jb3Vu
dCgpKSA/ICIiIDogYUNhcExpc3RbYUF0XTsKKyAgICAgICAgfQorICAgICAgICBhQWx0UGF0aCA9
IGFBbHRQYXRoLnJlcGxhY2UoYVJlZlJlZ0V4cC5wb3MoKSwgCisgICAgICAgICAgICBhUmVmUmVn
RXhwLm1hdGNoZWRMZW5ndGgoKSwgYVRvKTsKKyAgICAgICAgaSArPSBhVG8ubGVuZ3RoKCk7Cisg
ICAgICB9CisgICAgICBicmVhazsKKyAgICB9CisgICAgYUZpbGUuY2xvc2UoKTsKKyAgfXdoaWxl
KCFhQWx0UGF0aCAmJiAhYURpci5pc1Jvb3QoKSAmJiBhRGlyLmNkVXAoKSk7CisKKyAgcmV0dXJu
ICFhQWx0UGF0aCB8fCBhQWx0UGF0aC5pc0VtcHR5KCkgPyAwIDogYUFsdFBhdGg7Cit9CisKIGJv
b2wgRE1ldGFkYXRhOjpsb2FkKGNvbnN0IFFTdHJpbmcmIGZpbGVQYXRoKQogewogICAgIC8vIElu
IGZpcnN0LCB3ZSB0cnlpbmcgdG8gZ2V0IG1ldGFkYXRhIHVzaW5nIEV4aXYyLAogICAgIC8vIGVs
c2Ugd2Ugd2lsbCB1c2UgZGNyYXcgdG8gZXh0cmFjdCBtaW5pbWFsIGluZm9ybWF0aW9uLgogCisg
ICAgYm9vbCBhT2sgPSB0cnVlOwogICAgIGlmICghS0V4aXYyOjpsb2FkKGZpbGVQYXRoKSkKICAg
ICB7CiAgICAgICAgIGlmICghbG9hZFVzaW5nRGNyYXcoZmlsZVBhdGgpKQotICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgICAgICAgICAgYU9rID0gZmFsc2U7CiAgICAgfQogCi0gICAgcmV0
dXJuIHRydWU7CisgICAgLy8gUFRSOiBleGlmIGFuZCBpcHRjIGNhbiBiZSBsb2FkZWQgZnJvbSBh
bHRlcm5hdGUgZmlsZQorICAgIFFTdHJpbmcgYUFsdFBhdGggPSBhbHRQYXRoKGZpbGVQYXRoKTsK
KyAgICBpZighIWFBbHRQYXRoKQorICAgIHsKKyAgICAgIFFGaWxlIGFBbHRGaWxlKGFBbHRQYXRo
KTsKKyAgICAgIGlmKGFBbHRGaWxlLmV4aXN0cygpKQorICAgICAgeworICAgICAgICBETWV0YWRh
dGEgYUFsdERhdGE7CisgICAgICAgIGFBbHREYXRhLnNldENoZWNrQWx0UGF0aChmYWxzZSk7Cisg
ICAgICAgIGlmKGFBbHREYXRhLmxvYWQoYUFsdFBhdGgpKQorICAgICAgICB7CisgICAgICAgICAg
c2V0RXhpZihhQWx0RGF0YS5nZXRFeGlmKCkpOworICAgICAgICAgIHNldElwdGMoYUFsdERhdGEu
Z2V0SXB0YygpKTsKKyAgICAgICAgICBhT2sgPSB0cnVlOworICAgICAgICB9CisgICAgICB9Cisg
ICAgfQorICAgIHJldHVybiBhT2s7CiB9CiAKIGJvb2wgRE1ldGFkYXRhOjpsb2FkVXNpbmdEY3Jh
dyhjb25zdCBRU3RyaW5nJiBmaWxlUGF0aCkKSW5kZXg6IGRpZ2lrYW0vbGlicy9kbWV0YWRhdGEv
ZG1ldGFkYXRhLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gZGlnaWthbS9saWJzL2RtZXRhZGF0YS9kbWV0YWRh
dGEuaAkod2Vyc2phIDgwKQorKysgZGlnaWthbS9saWJzL2RtZXRhZGF0YS9kbWV0YWRhdGEuaAko
a29waWEgcm9ib2N6YSkKQEAgLTU2LDYgKzU2LDExIEBACiAKICAgICAvKiogVHJ5IHRvIGV4dHJh
Y3QgbWV0YWRhdGEgdXNpbmcgZGNyYXcgaWRlbnRpZnkgbWV0aG9kICovCiAgICAgYm9vbCBsb2Fk
VXNpbmdEY3Jhdyhjb25zdCBRU3RyaW5nJiBmaWxlUGF0aCk7CisKKyAgICAvLyBQVFI6IGFsdGVy
bmF0ZSBtZXRhZGF0YSBzdG9yYWdlIHBhdGgKKyAgICBRU3RyaW5nIGFsdFBhdGgoY29uc3QgUVN0
cmluZyYgZmlsZVBhdGgpOworICAgIGJvb2wgc2F2ZShjb25zdCBRU3RyaW5nJiBmaWxlUGF0aCk7
CisgICAgYm9vbCBhcHBseUNoYW5nZXMoKTsKICAgICAKICAgICAvKiogTWV0YWRhdGEgbWFuaXB1
bGF0aW9uIG1ldGhvZHMgKi8KIApAQCAtNzQsMTEgKzc5LDEzIEBACiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50JiByYXRpbmcsIFFTdHJpbmdMaXN0JiB0YWdzUGF0aCk7CiAgICAg
Ym9vbCBzZXRYTUxJbWFnZVByb3BlcnRpZXMoY29uc3QgUVN0cmluZyYgY29tbWVudHMsIGNvbnN0
IFFEYXRlVGltZSYgZGF0ZSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJh
dGluZywgY29uc3QgUVN0cmluZ0xpc3QmIHRhZ3NQYXRoKTsKKyAgICB2b2lkIHNldENoZWNrQWx0
UGF0aChib29sIGNoZWNrQWx0UGF0aCk7CiAKIHByaXZhdGU6CiAKICAgICBib29sIHNldFByb2dy
YW1JZChib29sIG9uPXRydWUpOwogICAgIGJvb2wgc2V0SXB0Y1RhZyhjb25zdCBRU3RyaW5nJiB0
ZXh0LCBpbnQgbWF4TGVuZ3RoLCBjb25zdCBjaGFyKiBkZWJ1Z0xhYmVsLCBjb25zdCBjaGFyKiB0
YWdLZXkpOworICAgIGJvb2wgY2hlY2tBbHRQYXRoOwogfTsKIAogfSAgLy8gTmFtZVNwYWNlIERp
Z2lrYW0K
</data>

          </attachment>
      

    </bug>

</bugzilla>