434393 kisexiv2: assorted fixes
This MR brings the feather duster to kisexiv2.
The fixes are as follows:
- General modernization to C++14 and optimizations: usage of foreach, and tag comparisons instead of string comparisons on loading.
- Fix bug 434393: allow roundtrip of GPSInfo structure.
- Fix an unlisted bug: save ComponentsConfiguration with the correct structure, as an array of byte values.
Test Plan
Build Krita. Test loading and saving with the JPEG file in the bug report.
Formalities Checklist
-
I confirmed this builds. -
I confirmed Krita ran and the relevant functions work. -
I tested the relevant unit tests and can confirm they are not broken. (If not possible, don't hesitate to ask for help!) -
I made sure my commits build individually and have good descriptions as per KDE guidelines. -
I made sure my code conforms to the standards set in the HACKING file. -
I can confirm the code is licensed and attributed appropriately, and that unattributed code is mine, as per KDE Licensing Policy.