--- a/scribus/plugins/import/pdf/importpdf.cpp
+++ b/scribus/plugins/import/pdf/importpdf.cpp
@@ -74,7 +74,11 @@ PdfPlug::PdfPlug(ScribusDoc* doc, int flags)
QImage PdfPlug::readThumbnail(const QString& fName)
{
QString pdfFile = QDir::toNativeSeparators(fName);
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 83, 0)
+ globalParams.reset(new GlobalParams());
+#else
globalParams = new GlobalParams();
+#endif
if (globalParams)
{
#if defined(Q_OS_WIN32) && POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 62, 0)
@@ -89,7 +93,9 @@ QImage PdfPlug::readThumbnail(const QString& fName)
if (pdfDoc->getErrorCode() == errEncrypted)
{
delete pdfDoc;
+#if POPPLER_ENCODED_VERSION < POPPLER_VERSION_ENCODE(0, 83, 0)
delete globalParams;
+#endif
return QImage();
}
if (pdfDoc->isOk())
@@ -133,11 +139,15 @@ QImage PdfPlug::readThumbnail(const QString& fName)
image.setText("YSize", QString("%1").arg(h));
delete dev;
delete pdfDoc;
+#if POPPLER_ENCODED_VERSION < POPPLER_VERSION_ENCODE(0, 83, 0)
delete globalParams;
+#endif
return image;
}
delete pdfDoc;
+#if POPPLER_ENCODED_VERSION < POPPLER_VERSION_ENCODE(0, 83, 0)
delete globalParams;
+#endif
}
}
return QImage();
@@ -343,7 +353,11 @@ bool PdfPlug::convert(const QString& fn)
qApp->processEvents();
}
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 83, 0)
+ globalParams.reset(new GlobalParams());
+#else
globalParams = new GlobalParams();
+#endif
GooString *userPW = nullptr;
if (globalParams)
{
@@ -385,7 +399,9 @@ bool PdfPlug::convert(const QString& fn)
if (progressDialog)
progressDialog->close();
delete pdfDoc;
+#if POPPLER_ENCODED_VERSION < POPPLER_VERSION_ENCODE(0, 83, 0)
delete globalParams;
+#endif
return false;
}
if (progressDialog)
@@ -430,7 +446,9 @@ bool PdfPlug::convert(const QString& fn)
progressDialog->close();
delete optImp;
delete pdfDoc;
+#if POPPLER_ENCODED_VERSION < POPPLER_VERSION_ENCODE(0, 83, 0)
delete globalParams;
+#endif
return false;
}
pageString = optImp->getPagesString();
@@ -843,8 +861,12 @@ bool PdfPlug::convert(const QString& fn)
}
delete pdfDoc;
}
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 83, 0)
+ globalParams.release();
+#else
delete globalParams;
globalParams = nullptr;
+#endif
// qDebug() << "converting finished";
// qDebug() << "Imported" << Elements.count() << "Elements";
diff --git a/scribus/plugins/import/pdf/importpdfconfig.h b/scribus/plugins/import/pdf/importpdfconfig.h
index 9913ee382..5a7e0d216 100644
--- a/scribus/plugins/import/pdf/importpdfconfig.h
+++ b/scribus/plugins/import/pdf/importpdfconfig.h
@@ -58,4 +58,10 @@ for which a new license (GPL+exception) is in place.
#define POPPLER_CONST_082
#endif
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 83, 0)
+#define POPPLER_CONST_083 const
+#else
+#define POPPLER_CONST_083
+#endif
+
#endif
diff --git a/scribus/plugins/import/pdf/slaoutput.cpp b/scribus/plugins/import/pdf/slaoutput.cpp
index 5e4d32a55..ffcfa8450 100644
--- a/scribus/plugins/import/pdf/slaoutput.cpp
+++ b/scribus/plugins/import/pdf/slaoutput.cpp
@@ -3678,7 +3678,7 @@ QString SlaOutputDev::getAnnotationColor(const AnnotColor *color)
return fNam;
}
-QString SlaOutputDev::convertPath(GfxPath *path)
+QString SlaOutputDev::convertPath(POPPLER_CONST_083 GfxPath *path)
{
if (! path)
return QString();
@@ -3688,7 +3688,7 @@ QString SlaOutputDev::convertPath(GfxPath *path)
for (int i = 0; i < path->getNumSubpaths(); ++i)
{
- GfxSubpath * subpath = path->getSubpath(i);
+ POPPLER_CONST_083 GfxSubpath * subpath = path->getSubpath(i);
if (subpath->getNumPoints() > 0)
{
output += QString("M %1 %2").arg(subpath->getX(0)).arg(subpath->getY(0));
diff --git a/scribus/plugins/import/pdf/slaoutput.h b/scribus/plugins/import/pdf/slaoutput.h
index 60fb90061..d928fada8 100644
--- a/scribus/plugins/import/pdf/slaoutput.h
+++ b/scribus/plugins/import/pdf/slaoutput.h
@@ -282,7 +282,7 @@ private:
void getPenState(GfxState *state);
QString getColor(GfxColorSpace *color_space, POPPLER_CONST_070 GfxColor *color, int *shade);
QString getAnnotationColor(const AnnotColor *color);
- QString convertPath(GfxPath *path);
+ QString convertPath(POPPLER_CONST_083 GfxPath *path);
int getBlendMode(GfxState *state);
void applyMask(PageItem *ite);
void pushGroup(const QString& maskName = "", GBool forSoftMask = gFalse, GBool alpha = gFalse, bool inverted = false);
--- a/scribus/plugins/import/pdf/slaoutput.cpp
+++ b/scribus/plugins/import/pdf/slaoutput.cpp
@@ -1189,6 +1189,11 @@ void SlaOutputDev::startDoc(PDFDoc *doc, XRef *xrefA, Catalog *catA)
catalog = catA;
pdfDoc = doc;
updateGUICounter = 0;
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 84, 0)
+ m_fontEngine = new SplashFontEngine(true, true, true, true);
+#elif POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 61, 0)
+ m_fontEngine = new SplashFontEngine(globalParams->getEnableFreeType(), true, true, true);
+#else
m_fontEngine = new SplashFontEngine(
#if HAVE_T1LIB_H
globalParams->getEnableT1lib(),
@@ -1199,6 +1204,7 @@ void SlaOutputDev::startDoc(PDFDoc *doc, XRef *xrefA, Catalog *catA)
true,
#endif
true);
+#endif
}
void SlaOutputDev::startPage(int pageNum, GfxState *, XRef *)