commit 9adc0f647c04e84792be63d913274633cc2ecd65 Author: Slávek Banko Date: Sat Apr 30 01:48:37 2022 +0200 Add support for Poppler >= 22.03. Signed-off-by: Slávek Banko 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(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(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 &&filePath, const std::optional &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() {