You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
82 lines
3.4 KiB
82 lines
3.4 KiB
3 years ago
|
commit 9adc0f647c04e84792be63d913274633cc2ecd65
|
||
|
Author: Slávek Banko <slavek.banko@axis.cz>
|
||
|
Date: Sat Apr 30 01:48:37 2022 +0200
|
||
|
|
||
|
Add support for Poppler >= 22.03.
|
||
|
|
||
|
Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
|
||
|
|
||
|
diff --git a/config.h.cmake b/config.h.cmake
|
||
|
index 7c1ab17a..fea46aaf 100644
|
||
|
--- a/config.h.cmake
|
||
|
+++ b/config.h.cmake
|
||
|
@@ -1,6 +1,7 @@
|
||
|
#cmakedefine VERSION "@VERSION@"
|
||
|
|
||
|
// poppler-tqt
|
||
|
+#cmakedefine HAVE_POPPLER_2203
|
||
|
#cmakedefine HAVE_POPPLER_2112
|
||
|
#cmakedefine HAVE_POPPLER_2111
|
||
|
#cmakedefine HAVE_POPPLER_2108
|
||
|
diff --git a/tdefile-plugins/dependencies/poppler-tqt/ConfigureChecks.cmake b/tdefile-plugins/dependencies/poppler-tqt/ConfigureChecks.cmake
|
||
|
index fa82dd3c..def19529 100644
|
||
|
--- a/tdefile-plugins/dependencies/poppler-tqt/ConfigureChecks.cmake
|
||
|
+++ b/tdefile-plugins/dependencies/poppler-tqt/ConfigureChecks.cmake
|
||
|
@@ -24,7 +24,7 @@ check_cxx_source_compiles("
|
||
|
HAVE_POPPLER_030 )
|
||
|
tde_restore( CMAKE_REQUIRED_INCLUDES CMAKE_REQUIRED_LIBRARIES )
|
||
|
|
||
|
-foreach( _poppler_ver 0.58 0.64 0.70 0.71 0.72 0.76 0.82 0.83 0.86 21.08 21.11 21.12 )
|
||
|
+foreach( _poppler_ver 0.58 0.64 0.70 0.71 0.72 0.76 0.82 0.83 0.86 21.08 21.11 21.12 22.03 )
|
||
|
string( REPLACE "." "" _poppler_str "${_poppler_ver}" )
|
||
|
if( NOT DEFINED HAVE_POPPLER_${_poppler_str} )
|
||
|
message( STATUS "Performing Test HAVE_POPPLER_${_poppler_str}" )
|
||
|
diff --git a/tdefile-plugins/dependencies/poppler-tqt/poppler-document.cpp b/tdefile-plugins/dependencies/poppler-tqt/poppler-document.cpp
|
||
|
index 78e8befe..86e831ee 100644
|
||
|
--- a/tdefile-plugins/dependencies/poppler-tqt/poppler-document.cpp
|
||
|
+++ b/tdefile-plugins/dependencies/poppler-tqt/poppler-document.cpp
|
||
|
@@ -50,7 +50,11 @@ Document *Document::load(const TQString &filePath)
|
||
|
#endif
|
||
|
}
|
||
|
|
||
|
+# if defined(HAVE_POPPLER_2203)
|
||
|
+ DocumentData *doc = new DocumentData(std::make_unique<GooString>(TQFile::encodeName(filePath)), {});
|
||
|
+# else
|
||
|
DocumentData *doc = new DocumentData(new GooString(TQFile::encodeName(filePath)), NULL);
|
||
|
+# endif
|
||
|
Document *pdoc;
|
||
|
if (doc->doc.isOk() || doc->doc.getErrorCode() == errEncrypted) {
|
||
|
pdoc = new Document(doc);
|
||
|
@@ -84,10 +88,15 @@ bool Document::unlock(const TQCString &password)
|
||
|
{
|
||
|
if (data->locked) {
|
||
|
/* racier then it needs to be */
|
||
|
+# if defined(HAVE_POPPLER_2203)
|
||
|
+ DocumentData *doc2 = new DocumentData(std::make_unique<GooString>(data->doc.getFileName()),
|
||
|
+ GooString(password.data()));
|
||
|
+# else
|
||
|
GooString *filename = new GooString(data->doc.getFileName());
|
||
|
GooString *pwd = new GooString(password.data());
|
||
|
DocumentData *doc2 = new DocumentData(filename, pwd);
|
||
|
delete pwd;
|
||
|
+# endif
|
||
|
if (!doc2->doc.isOk()) {
|
||
|
delete doc2;
|
||
|
} else {
|
||
|
diff --git a/tdefile-plugins/dependencies/poppler-tqt/poppler-private.h b/tdefile-plugins/dependencies/poppler-tqt/poppler-private.h
|
||
|
index c98d02b8..f1096ceb 100644
|
||
|
--- a/tdefile-plugins/dependencies/poppler-tqt/poppler-private.h
|
||
|
+++ b/tdefile-plugins/dependencies/poppler-tqt/poppler-private.h
|
||
|
@@ -104,7 +104,11 @@ class LinkDestinationData {
|
||
|
|
||
|
class DocumentData {
|
||
|
public:
|
||
|
+# if defined(HAVE_POPPLER_2203)
|
||
|
+ DocumentData(std::unique_ptr<GooString> &&filePath, const std::optional<GooString> &password) : doc(std::move(filePath), password), m_fontInfoScanner(0), m_outputDev(0) {}
|
||
|
+# else
|
||
|
DocumentData(GooString *filePath, GooString *password) : doc(filePath,password), m_fontInfoScanner(0), m_outputDev(0) {}
|
||
|
+# endif
|
||
|
|
||
|
~DocumentData()
|
||
|
{
|