From b5360a807b12d4e8318475ffd0464b84882788b5 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Tue, 3 Dec 2019 00:17:05 +0100 Subject: [PATCH] Fix build with Poppler 0.83.0 (cherry picked from commit 51351358a62acb6887eab49bc0dc4a7a3d18c17a) --- src/extension/internal/pdfinput/pdf-input.cpp | 6 +++--- src/extension/internal/pdfinput/pdf-parser.cpp | 4 ++-- .../internal/pdfinput/poppler-transition-api.h | 12 ++++++++++++ src/extension/internal/pdfinput/svg-builder.cpp | 4 ++-- 4 files changed, 19 insertions(+), 7 deletions(-) diff --git a/src/extension/internal/pdfinput/pdf-input.cpp b/src/extension/internal/pdfinput/pdf-input.cpp index 9621e306a0..7027b7e642 100644 --- a/src/extension/internal/pdfinput/pdf-input.cpp +++ b/src/extension/internal/pdfinput/pdf-input.cpp @@ -689,12 +689,12 @@ PdfInput::open(::Inkscape::Extension::Input * /*mod*/, const gchar * uri) { // gchar const *poppler_datadir = g_getenv("POPPLER_DATADIR"); if (poppler_datadir != NULL) { - globalParams = new GlobalParams(poppler_datadir); + globalParams = _POPPLER_NEW_GLOBAL_PARAMS(poppler_datadir); } else { - globalParams = new GlobalParams(); + globalParams = _POPPLER_NEW_GLOBAL_PARAMS(); } #else - globalParams = new GlobalParams(); + globalParams = _POPPLER_NEW_GLOBAL_PARAMS(); #endif // ENABLE_OSX_APP_LOCATIONS } diff --git a/src/extension/internal/pdfinput/pdf-parser.cpp b/src/extension/internal/pdfinput/pdf-parser.cpp index e71bb79381..2ff448828d 100644 --- a/src/extension/internal/pdfinput/pdf-parser.cpp +++ b/src/extension/internal/pdfinput/pdf-parser.cpp @@ -272,7 +272,7 @@ public: ClipHistoryEntry *save(); ClipHistoryEntry *restore(); GBool hasSaves() { return saved != NULL; } - void setClip(GfxPath *newClipPath, GfxClipType newClipType = clipNormal); + void setClip(_POPPLER_CONST_83 GfxPath *newClipPath, GfxClipType newClipType = clipNormal); GfxPath *getClipPath() { return clipPath; } GfxClipType getClipType() { return clipType; } @@ -3394,7 +3394,7 @@ ClipHistoryEntry::~ClipHistoryEntry() } } -void ClipHistoryEntry::setClip(GfxPath *clipPathA, GfxClipType clipTypeA) { +void ClipHistoryEntry::setClip(_POPPLER_CONST_83 GfxPath *clipPathA, GfxClipType clipTypeA) { // Free previous clip path if (clipPath) { delete clipPath; diff --git a/src/extension/internal/pdfinput/poppler-transition-api.h b/src/extension/internal/pdfinput/poppler-transition-api.h index 93c0f99ba1..1118c0849f 100644 --- a/src/extension/internal/pdfinput/poppler-transition-api.h +++ b/src/extension/internal/pdfinput/poppler-transition-api.h @@ -3,6 +3,12 @@ #include +#if POPPLER_CHECK_VERSION(0, 83, 0) +#define _POPPLER_CONST_83 const +#else +#define _POPPLER_CONST_83 +#endif + #if POPPLER_CHECK_VERSION(0, 82, 0) #define _POPPLER_CONST_82 const #else @@ -15,6 +21,12 @@ #define _POPPLER_NEW_PARSER(xref, obj) Parser(xref, new Lexer(xref, obj), gFalse) #endif +#if POPPLER_CHECK_VERSION(0, 83, 0) +#define _POPPLER_NEW_GLOBAL_PARAMS(args...) std::unique_ptr(new GlobalParams(args)) +#else +#define _POPPLER_NEW_GLOBAL_PARAMS(args...) new GlobalParams(args) +#endif + #if POPPLER_CHECK_VERSION(0, 72, 0) #define getCString c_str diff --git a/src/extension/internal/pdfinput/svg-builder.cpp b/src/extension/internal/pdfinput/svg-builder.cpp index ea2940ffe1..6454089134 100644 --- a/src/extension/internal/pdfinput/svg-builder.cpp +++ b/src/extension/internal/pdfinput/svg-builder.cpp @@ -264,10 +264,10 @@ static void svgSetTransform(Inkscape::XML::Node *node, double c0, double c1, /** * \brief Generates a SVG path string from poppler's data structure */ -static gchar *svgInterpretPath(GfxPath *path) { +static gchar *svgInterpretPath(_POPPLER_CONST_83 GfxPath *path) { Inkscape::SVG::PathString pathString; for (int i = 0 ; i < path->getNumSubpaths() ; ++i ) { - GfxSubpath *subpath = path->getSubpath(i); + _POPPLER_CONST_83 GfxSubpath *subpath = path->getSubpath(i); if (subpath->getNumPoints() > 0) { pathString.moveTo(subpath->getX(0), subpath->getY(0)); int j = 1; -- 2.22.0