aboutsummaryrefslogtreecommitdiff
path: root/converters/pdf2djvu
diff options
context:
space:
mode:
authorTobias C. Berner <tcberner@FreeBSD.org>2020-01-31 08:55:13 +0000
committerTobias C. Berner <tcberner@FreeBSD.org>2020-01-31 08:55:13 +0000
commit1afc5207a4c5c5a857ad20e763a0c96638e7fae2 (patch)
tree39dcea6edd5ada0d9995cc0d991ef2a850088731 /converters/pdf2djvu
parent2b71f2534703beb6ff4a4ec811ab1f6326e1fe31 (diff)
downloadports-1afc5207a4c5c5a857ad20e763a0c96638e7fae2.tar.gz
ports-1afc5207a4c5c5a857ad20e763a0c96638e7fae2.zip
converters/pdf2djvu: prepare for poppler 0.85
Notes
Notes: svn path=/head/; revision=524680
Diffstat (limited to 'converters/pdf2djvu')
-rw-r--r--converters/pdf2djvu/files/patch-pdf-backend.cc44
1 files changed, 42 insertions, 2 deletions
diff --git a/converters/pdf2djvu/files/patch-pdf-backend.cc b/converters/pdf2djvu/files/patch-pdf-backend.cc
index 7e967b6c7210..f6dd392316b2 100644
--- a/converters/pdf2djvu/files/patch-pdf-backend.cc
+++ b/converters/pdf2djvu/files/patch-pdf-backend.cc
@@ -1,15 +1,55 @@
--- pdf-backend.cc.orig 2019-06-10 17:06:44 UTC
+++ pdf-backend.cc
-@@ -103,7 +103,7 @@ static void poppler_error_handler(void *data, ErrorCat
+@@ -48,7 +48,7 @@
+ * ======================
+ */
+-static void poppler_error_handler(void *data, ErrorCategory category, pdf::Offset pos, const char *message)
++static void poppler_error_handler_new(ErrorCategory category, pdf::Offset pos, const char *message)
+ {
+ std::string format;
+ const char *category_name = _("PDF error");
+@@ -94,6 +94,11 @@ static void poppler_error_handler(void *data, ErrorCat
+ error_log << std::endl;
+ }
+
++static void poppler_error_handler(void *data, ErrorCategory category, pdf::Offset pos, const char *message)
++{
++ poppler_error_handler_new(category, pos, message);
++}
++
+ #if POPPLER_VERSION < 7000
+ static void poppler_error_handler(void *data, ErrorCategory category, pdf::Offset pos, char *message)
+ {
+@@ -101,10 +106,26 @@ static void poppler_error_handler(void *data, ErrorCat
+ }
+ #endif
+
++// for POPPLER_VERSION >= 8500:
++template <typename T1, typename T2> static auto set_error_callback(T1 callback1, T2 callback2) -> decltype(setErrorCallback(callback2))
++{
++ setErrorCallback(callback2);
++}
++
++// for POPPLER_VERSION < 8500:
++template <typename T1, typename T2> static auto set_error_callback(T1 callback1, T2 callback2) -> decltype(setErrorCallback(callback1, nullptr))
++{
++ setErrorCallback(callback1, nullptr);
++}
++
pdf::Environment::Environment()
{
- globalParams = new GlobalParams();
+ globalParams = std::unique_ptr<GlobalParams>(new GlobalParams);
++#if POPPLER_VERSION >= 7000
++ set_error_callback(poppler_error_handler, poppler_error_handler_new);
++#else
setErrorCallback(poppler_error_handler, nullptr);
++#endif
}
-@@ -499,12 +499,11 @@ bool pdf::get_glyph(splash::Splash *splash, splash::Fo
+ void pdf::Environment::set_antialias(bool value)
+@@ -499,12 +520,11 @@ bool pdf::get_glyph(splash::Splash *splash, splash::Fo
void pdf::Renderer::convert_path(pdf::gfx::State *state, splash::Path &splash_path)
{
/* Source was copied from <poppler/SplashOutputDev.c>. */