summaryrefslogtreecommitdiff
path: root/media-gfx/viewnior/files/viewnior-1.8-change-exiv2-AutoPtr-to-unique_ptr.patch
blob: a49748e39f36e12c7d437a695bb1c77ae6790027 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
# upstream PR: <https://github.com/hellosiyan/Viewnior/pull/130>

From e98d86aecf20a1651552090c7b25d5fcdd41133a Mon Sep 17 00:00:00 2001
From: tastytea <tastytea@tastytea.de>
Date: Tue, 16 May 2023 10:54:40 +0200
Subject: [PATCH] change exiv2 AutoPtr to unique_ptr

exiv2-0.28.0 removed Exiv2::Image::AutoPtr and added
Exiv2::Image::UniquePtr instead. since it's a typedef for
std::unique_ptr<Image>, i'm using that directly instead of adding a
condition on the exiv2 version.
---
 src/uni-exiv2.cpp | 21 +++++++++++----------
 1 file changed, 11 insertions(+), 10 deletions(-)

diff --git a/src/uni-exiv2.cpp b/src/uni-exiv2.cpp
index 0d14b9f..77064c2 100644
--- a/src/uni-exiv2.cpp
+++ b/src/uni-exiv2.cpp
@@ -22,12 +22,13 @@
 
 #include <exiv2/exiv2.hpp>
 #include <iostream>
+#include <memory>
 
 #include "uni-exiv2.hpp"
 
 #define ARRAY_SIZE(array) (sizeof array/sizeof(array[0]))
 
-static Exiv2::Image::AutoPtr cached_image;
+static std::unique_ptr<Exiv2::Image> cached_image;
 
 extern "C"
 void
@@ -35,8 +36,8 @@ uni_read_exiv2_map(const char *uri, void (*callback)(const char*, const char*, v
 {
     Exiv2::LogMsg::setLevel(Exiv2::LogMsg::mute);
     try {
-        Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(uri);
-        if ( image.get() == 0 ) {
+        std::unique_ptr<Exiv2::Image> image = Exiv2::ImageFactory::open(uri);
+        if (image == nullptr) {
             return;
         }
 
@@ -91,14 +92,14 @@ uni_read_exiv2_to_cache(const char *uri)
 {
     Exiv2::LogMsg::setLevel(Exiv2::LogMsg::mute);
 
-    if ( cached_image.get() != NULL ) {
+    if (cached_image != nullptr) {
         cached_image->clearMetadata();
-        cached_image.reset(NULL);
+        cached_image.reset(nullptr);
     }
 
     try {
         cached_image = Exiv2::ImageFactory::open(uri);
-        if ( cached_image.get() == 0 ) {
+        if (cached_image == nullptr) {
             return 1;
         }
 
@@ -116,13 +117,13 @@ uni_write_exiv2_from_cache(const char *uri)
 {
     Exiv2::LogMsg::setLevel(Exiv2::LogMsg::mute);
 
-    if ( cached_image.get() == NULL ) {
+    if (cached_image == nullptr) {
         return 1;
     }
 
     try {
-        Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(uri);
-        if ( image.get() == 0 ) {
+        std::unique_ptr<Exiv2::Image> image = Exiv2::ImageFactory::open(uri);
+        if (image == nullptr) {
             return 2;
         }
 
@@ -130,7 +131,7 @@ uni_write_exiv2_from_cache(const char *uri)
         image->writeMetadata();
 
         cached_image->clearMetadata();
-        cached_image.reset(NULL);
+        cached_image.reset(nullptr);
 
         return 0;
     } catch (Exiv2::AnyError& e) {
-- 
2.39.3