diff --git a/generators/poppler/CMakeLists.txt b/generators/poppler/CMakeLists.txt --- a/generators/poppler/CMakeLists.txt +++ b/generators/poppler/CMakeLists.txt @@ -51,6 +51,15 @@ } " HAVE_POPPLER_0_53) +check_cxx_source_compiles(" +#include +#include +int main() +{ + auto s = &Poppler::SignatureValidationInfo::signsTotalDocument; +} +" HAVE_POPPLER_0_58) + check_cxx_source_compiles(" #include int main() diff --git a/generators/poppler/config-okular-poppler.h.cmake b/generators/poppler/config-okular-poppler.h.cmake --- a/generators/poppler/config-okular-poppler.h.cmake +++ b/generators/poppler/config-okular-poppler.h.cmake @@ -19,6 +19,9 @@ /* Defined if we have the 0.53 version of the Poppler library */ #cmakedefine HAVE_POPPLER_0_53 1 +/* Defined if we have the 0.58 version of the Poppler library */ +#cmakedefine HAVE_POPPLER_0_58 1 + /* Defined if we have the 0.60 version of the Poppler library */ #cmakedefine HAVE_POPPLER_0_60 1 diff --git a/generators/poppler/formfields.cpp b/generators/poppler/formfields.cpp --- a/generators/poppler/formfields.cpp +++ b/generators/poppler/formfields.cpp @@ -429,6 +429,7 @@ PopplerFormFieldSignature::SignatureType PopplerFormFieldSignature::signatureType() const { +#ifdef HAVE_POPPLER_0_58 switch ( m_field->signatureType() ) { case Poppler::FormFieldSignature::AdbePkcs7sha1: @@ -440,6 +441,9 @@ default: return Okular::FormFieldSignature::UnknownType; } +#else + return Okular::FormFieldSignature::UnknownType; +#endif } const Okular::SignatureInfo &PopplerFormFieldSignature::signatureInfo() const diff --git a/generators/poppler/pdfsignatureutils.cpp b/generators/poppler/pdfsignatureutils.cpp --- a/generators/poppler/pdfsignatureutils.cpp +++ b/generators/poppler/pdfsignatureutils.cpp @@ -193,6 +193,7 @@ PopplerSignatureInfo::HashAlgorithm PopplerSignatureInfo::hashAlgorithm() const { +#ifdef HAVE_POPPLER_0_58 switch ( m_info.hashAlgorithm() ) { case Poppler::SignatureValidationInfo::HashAlgorithmMd2: @@ -212,6 +213,9 @@ default: return HashAlgorithmUnknown; } +#else + return HashAlgorithmUnknown; +#endif } QString PopplerSignatureInfo::signerName() const @@ -221,7 +225,11 @@ QString PopplerSignatureInfo::signerSubjectDN() const { +#ifdef HAVE_POPPLER_0_58 return m_info.signerSubjectDN(); +#else + return {}; +#endif } QString PopplerSignatureInfo::location() const @@ -249,17 +257,29 @@ QByteArray PopplerSignatureInfo::signature() const { +#ifdef HAVE_POPPLER_0_58 return m_info.signature(); +#else + return {}; +#endif } QList PopplerSignatureInfo::signedRangeBounds() const { +#ifdef HAVE_POPPLER_0_58 return m_info.signedRangeBounds(); +#else + return {}; +#endif } bool PopplerSignatureInfo::signsTotalDocument() const { + #ifdef HAVE_POPPLER_0_58 return m_info.signsTotalDocument(); +#else + return false; +#endif } const Okular::CertificateInfo &PopplerSignatureInfo::certificateInfo() const