- Add inkscape-fix-for-poppler-0.83.patch: Fix build with poppler 0.83 and newer. - Update URL to new homepage. OBS-URL: https://build.opensuse.org/request/show/754504 OBS-URL: https://build.opensuse.org/package/show/graphics/inkscape?expand=0&rev=56
106 lines
4.2 KiB
Diff
106 lines
4.2 KiB
Diff
From b5360a807b12d4e8318475ffd0464b84882788b5 Mon Sep 17 00:00:00 2001
|
|
From: Jan Tojnar <jtojnar@gmail.com>
|
|
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 <glib/poppler-features.h>
|
|
|
|
+#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<GlobalParams>(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
|
|
|