summaryrefslogtreecommitdiff
blob: 904e7b2319141a53546671dba1fe42f8e9257472 (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
From f2dee911572a6ec93c63b9b4e376f841bb91e306 Mon Sep 17 00:00:00 2001
From: Andreas Sturmlechner <andreas.sturmlechner@gmail.com>
Date: Fri, 22 Feb 2019 19:13:11 +0100
Subject: [PATCH] Fix build against poppler-0.72

---
 CMakeLists.txt                | 3 +++
 src/config-kitinerary.h.cmake | 1 +
 src/pdfdocument.cpp           | 8 ++++++++
 3 files changed, 12 insertions(+)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index bdc2e2b..b970de7 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -42,6 +42,9 @@ if(TARGET Poppler::Core)
     if (${Poppler_VERSION} VERSION_GREATER 0.57)
         set(HAVE_POPPLER_0_58 ON)
     endif()
+    if (${Poppler_VERSION} VERSION_GREATER 0.71)
+        set(HAVE_POPPLER_0_72 ON)
+    endif()
 endif()
 if (TARGET zxing::libzxing)
     set(HAVE_ZXING ON)
diff --git a/src/config-kitinerary.h.cmake b/src/config-kitinerary.h.cmake
index 4576266..0dc8969 100644
--- a/src/config-kitinerary.h.cmake
+++ b/src/config-kitinerary.h.cmake
@@ -22,6 +22,7 @@
 
 #cmakedefine HAVE_POPPLER
 #cmakedefine HAVE_POPPLER_0_58
+#cmakedefine HAVE_POPPLER_0_72
 #cmakedefine HAVE_ZXING
 #cmakedefine HAVE_KCAL
 #cmakedefine HAVE_KCONTACTS
diff --git a/src/pdfdocument.cpp b/src/pdfdocument.cpp
index fb4b98b..9f23645 100644
--- a/src/pdfdocument.cpp
+++ b/src/pdfdocument.cpp
@@ -306,7 +306,11 @@ QString PdfPage::textInRect(double left, double top, double right, double bottom
     const auto pageRect = d->m_doc->m_popplerDoc->getPage(d->m_pageNum + 1)->getCropBox();
     std::unique_ptr<GooString> s(device->getText(ratio(pageRect->x1, pageRect->x2, left), ratio(pageRect->y1, pageRect->y2, top),
                                                  ratio(pageRect->x1, pageRect->x2, right), ratio(pageRect->y1, pageRect->y2, bottom)));
+#ifdef HAVE_POPPLER_0_58
+    return QString::fromUtf8(s->c_str());
+#else
     return QString::fromUtf8(s->getCString());
+#endif
 #else
     Q_UNUSED(left);
     Q_UNUSED(top);
@@ -440,7 +444,11 @@ PdfDocument* PdfDocument::fromData(const QByteArray &data, QObject *parent)
         PdfPage page;
         page.d->m_pageNum = i;
         page.d->m_doc = doc->d.get();
+#ifdef HAVE_POPPLER_0_72
+        page.d->m_text = QString::fromUtf8(s->c_str());
+#else
         page.d->m_text = QString::fromUtf8(s->getCString());
+#endif
         page.d->m_images = std::move(device->m_images);
         for (auto it = page.d->m_images.begin(); it != page.d->m_images.end(); ++it) {
             (*it).d->m_page = page.d.data();
-- 
2.19.2