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
|