Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package scribus for openSUSE:Factory checked in at 2022-03-07 17:45:36 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/scribus (Old) and /work/SRC/openSUSE:Factory/.scribus.new.1958 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "scribus" Mon Mar 7 17:45:36 2022 rev:80 rq:959379 version:1.5.8 Changes: -------- --- /work/SRC/openSUSE:Factory/scribus/scribus.changes 2022-01-26 21:26:54.690022594 +0100 +++ /work/SRC/openSUSE:Factory/.scribus.new.1958/scribus.changes 2022-03-07 17:45:43.835140818 +0100 @@ -1,0 +2,10 @@ +Fri Mar 4 08:40:27 UTC 2022 - Christophe Giboudeaux <christo...@krop.fr> + +- Add upstream changes: + * 0001-16734-Build-break-with-poppler-22.2.0.patch + * 0001-Small-update-vs-latest-code-in-poppler.patch + * 0001-16764-Build-break-with-poppler-22.03.0.patch + * 0001-Enforce-poppler-version-0.86.0.patch + * 0001-16764-Better-patch-avoid-a-memory-leak.patch + +------------------------------------------------------------------- New: ---- 0001-16734-Build-break-with-poppler-22.2.0.patch 0001-16764-Better-patch-avoid-a-memory-leak.patch 0001-16764-Build-break-with-poppler-22.03.0.patch 0001-Enforce-poppler-version-0.86.0.patch 0001-Small-update-vs-latest-code-in-poppler.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ scribus.spec ++++++ --- /var/tmp/diff_new_pack.YjEoqR/_old 2022-03-07 17:45:45.731140271 +0100 +++ /var/tmp/diff_new_pack.YjEoqR/_new 2022-03-07 17:45:45.735140269 +0100 @@ -29,6 +29,16 @@ Source1: %{name}-%{version}.tar.xz.asc # PATCH-FIX-OPENSUSE Patch0: 0001-Make-sure-information-displayed-on-the-about-window-.patch +# PATCH-FIX-UPSTREAM +Patch1: 0001-16734-Build-break-with-poppler-22.2.0.patch +# PATCH-FIX-UPSTREAM +Patch2: 0001-Small-update-vs-latest-code-in-poppler.patch +# PATCH-FIX-UPSTREAM +Patch3: 0001-16764-Build-break-with-poppler-22.03.0.patch +# PATCH-FIX-UPSTREAM +Patch4: 0001-Enforce-poppler-version-0.86.0.patch +# PATCH-FIX-UPSTREAM +Patch5: 0001-16764-Better-patch-avoid-a-memory-leak.patch BuildRequires: cmake >= 3.14.0 BuildRequires: cups-devel BuildRequires: dos2unix ++++++ 0001-16734-Build-break-with-poppler-22.2.0.patch ++++++ >From 699df2330c9bd28a43fa7a5ec25581ca22ddb898 Mon Sep 17 00:00:00 2001 From: jghali <jghali@11d20701-8431-0410-a711-e3c959e3b870> Date: Wed, 2 Feb 2022 23:12:52 +0000 Subject: [PATCH] #16734: Build break with poppler 22.2.0 git-svn-id: svn://scribus.net/trunk/Scribus@24884 11d20701-8431-0410-a711-e3c959e3b870 --- scribus/plugins/import/pdf/slaoutput.cpp | 47 +++++++++++++++++++----- 1 file changed, 37 insertions(+), 10 deletions(-) diff --git a/scribus/plugins/import/pdf/slaoutput.cpp b/scribus/plugins/import/pdf/slaoutput.cpp index 5894bf2ad..3650c96f5 100644 --- a/scribus/plugins/import/pdf/slaoutput.cpp +++ b/scribus/plugins/import/pdf/slaoutput.cpp @@ -7,6 +7,11 @@ for which a new license (GPL+exception) is in place. #include "slaoutput.h" +#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0) +#include <memory> +#include <optional> +#endif + #include <poppler/GlobalParams.h> #include <poppler/poppler-config.h> #include <poppler/FileSpec.h> @@ -3027,18 +3032,24 @@ void SlaOutputDev::markPoint(POPPLER_CONST char *name, Dict *properties) void SlaOutputDev::updateFont(GfxState *state) { GfxFont *gfxFont; - GfxFontLoc *fontLoc; +#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0) + std::optional<GfxFontLoc> fontLoc; + const GooString * fileName = nullptr; + std::unique_ptr<FoFiTrueType> ff; +#else + GfxFontLoc * fontLoc = nullptr; + GooString * fileName = nullptr; + FoFiTrueType * ff = nullptr; +#endif GfxFontType fontType; SlaOutFontFileID *id; SplashFontFile *fontFile; SplashFontSrc *fontsrc = nullptr; - FoFiTrueType *ff; Object refObj, strObj; - GooString *fileName; - char *tmpBuf; + char *tmpBuf = nullptr; int tmpBufLen = 0; - int *codeToGID; - const double *textMat; + int *codeToGID = nullptr; + const double *textMat = nullptr; double m11, m12, m21, m22, fontSize; SplashCoord mat[4]; int n = 0; @@ -3046,9 +3057,6 @@ void SlaOutputDev::updateFont(GfxState *state) SplashCoord matrix[6]; m_font = nullptr; - fileName = nullptr; - tmpBuf = nullptr; - fontLoc = nullptr; gfxFont = state->getFont(); if (!gfxFont) @@ -3083,7 +3091,11 @@ void SlaOutputDev::updateFont(GfxState *state) } else { // gfxFontLocExternal +#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0) + fileName = fontLoc->pathAsGooString(); +#else fileName = fontLoc->path; +#endif fontType = fontLoc->fontType; } @@ -3136,9 +3148,14 @@ void SlaOutputDev::updateFont(GfxState *state) ff = FoFiTrueType::make(tmpBuf, tmpBufLen); if (ff) { +#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0) + codeToGID = ((Gfx8BitFont*) gfxFont)->getCodeToGIDMap(ff.get()); + ff.reset(); +#else codeToGID = ((Gfx8BitFont *)gfxFont)->getCodeToGIDMap(ff); - n = 256; delete ff; +#endif + n = 256; } else { @@ -3209,8 +3226,13 @@ void SlaOutputDev::updateFont(GfxState *state) ff = FoFiTrueType::make(tmpBuf, tmpBufLen); if (! ff) goto err2; +#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0) + codeToGID = ((GfxCIDFont*) gfxFont)->getCodeToGIDMap(ff.get(), &n); + ff.reset(); +#else codeToGID = ((GfxCIDFont *)gfxFont)->getCodeToGIDMap(ff, &n); delete ff; +#endif } if (!(fontFile = m_fontEngine->loadTrueTypeFont( id, @@ -3247,14 +3269,19 @@ void SlaOutputDev::updateFont(GfxState *state) mat[3] = -m22; m_font = m_fontEngine->getFont(fontFile, mat, matrix); +#if POPPLER_ENCODED_VERSION < POPPLER_VERSION_ENCODE(22, 2, 0) delete fontLoc; +#endif if (fontsrc && !fontsrc->isFile) fontsrc->unref(); return; err2: delete id; +#if POPPLER_ENCODED_VERSION < POPPLER_VERSION_ENCODE(22, 2, 0) delete fontLoc; +#endif + err1: if (fontsrc && !fontsrc->isFile) fontsrc->unref(); -- 2.35.1 ++++++ 0001-16764-Better-patch-avoid-a-memory-leak.patch ++++++ >From 20c1757209a9742edd2b1c524acb88ae1c557d73 Mon Sep 17 00:00:00 2001 From: jghali <jghali@11d20701-8431-0410-a711-e3c959e3b870> Date: Thu, 3 Mar 2022 00:18:06 +0000 Subject: [PATCH] #16764: Better patch, avoid a memory leak git-svn-id: svn://scribus.net/trunk/Scribus@24989 11d20701-8431-0410-a711-e3c959e3b870 --- scribus/plugins/import/pdf/importpdf.cpp | 34 +++++++++--------------- scribus/util_os.cpp | 2 ++ 2 files changed, 15 insertions(+), 21 deletions(-) diff --git a/scribus/plugins/import/pdf/importpdf.cpp b/scribus/plugins/import/pdf/importpdf.cpp index 970a1a37c..7da93a5b2 100644 --- a/scribus/plugins/import/pdf/importpdf.cpp +++ b/scribus/plugins/import/pdf/importpdf.cpp @@ -57,6 +57,7 @@ for which a new license (GPL+exception) is in place. #include "util.h" #include "util_formats.h" #include "util_math.h" +#include "util_os.h" #include "ui/customfdialog.h" #include "ui/missing.h" @@ -78,15 +79,12 @@ QImage PdfPlug::readThumbnail(const QString& fName) globalParams->setErrQuiet(gTrue); QString pdfFile = QDir::toNativeSeparators(fName); -#if defined(Q_OS_WIN32) - auto fname = new GooString(pdfFile.toUtf8().data()); -#else - auto fname = new GooString(QFile::encodeName(pdfFile).data()); -#endif - + QByteArray encodedFileName = os_is_win() ? pdfFile.toUtf8() : QFile::encodeName(pdfFile); #if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 3, 0) - PDFDoc pdfDoc{ std::make_unique<GooString>(fname) }; + auto fname = std::make_unique<GooString>(encodedFileName.data()); + PDFDoc pdfDoc{ std::move(fname) }; #else + auto fname = new GooString(encodedFileName.data()); PDFDoc pdfDoc{fname, nullptr, nullptr, nullptr}; #endif if (!pdfDoc.isOk() || pdfDoc.getErrorCode() == errEncrypted) @@ -330,17 +328,14 @@ bool PdfPlug::convert(const QString& fn) globalParams.reset(new GlobalParams()); globalParams->setErrQuiet(gTrue); -#if defined(Q_OS_WIN32) - auto fname = new GooString(fn.toUtf8().data()); -#else - auto fname = new GooString(QFile::encodeName(fn).data()); -#endif - QList<OptionalContentGroup*> ocgGroups; + QByteArray encodedFileName = os_is_win() ? fn.toUtf8() : QFile::encodeName(fn); #if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 3, 0) - auto pdfDoc = std::make_unique<PDFDoc>(std::make_unique<GooString>(fname)); + auto fname = std::make_unique<GooString>(encodedFileName.data()); + auto pdfDoc = std::make_unique<PDFDoc>(std::move(fname)); #else - auto pdfDoc = std::unique_ptr<PDFDoc>(new PDFDoc(fname, nullptr, nullptr, nullptr)); + auto fname = new GooString(encodedFileName.data()); + auto pdfDoc = std::make_unique<PDFDoc>(fname, nullptr, nullptr, nullptr); #endif if (pdfDoc) { @@ -355,15 +350,12 @@ bool PdfPlug::convert(const QString& fn) QString text = QInputDialog::getText(mw, tr("Open PDF-File"), tr("Password"), QLineEdit::Normal, "", &ok); if (ok && !text.isEmpty()) { -#if defined(Q_OS_WIN32) - auto fname = new GooString(fn.toUtf8().data()); -#else - auto fname = new GooString(QFile::encodeName(fn).data()); -#endif #if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 3, 0) + auto fname = std::make_unique<GooString>(encodedFileName.data()); std::optional<GooString> userPW(std::in_place, text.toLocal8Bit().data()); - pdfDoc.reset(new PDFDoc(std::make_unique<GooString>(fname), userPW, userPW, nullptr)); + pdfDoc.reset(new PDFDoc(std::move(fname), userPW, userPW, nullptr)); #else + auto fname = new GooString(encodedFileName.data()); auto userPW = new GooString(text.toLocal8Bit().data()); pdfDoc.reset(new PDFDoc(fname, userPW, userPW, nullptr)); #endif diff --git a/scribus/util_os.cpp b/scribus/util_os.cpp index fadf37d59..56e50aec3 100644 --- a/scribus/util_os.cpp +++ b/scribus/util_os.cpp @@ -22,6 +22,8 @@ for which a new license (GPL+exception) is in place. #include <QtGlobal> +#include "util_os.h" + bool os_is_osx() { #ifdef Q_OS_MACOS -- 2.35.1 ++++++ 0001-16764-Build-break-with-poppler-22.03.0.patch ++++++ >From 6512c88e45ad8406949a238962b9523f9c21e0c3 Mon Sep 17 00:00:00 2001 From: jghali <jghali@11d20701-8431-0410-a711-e3c959e3b870> Date: Wed, 2 Mar 2022 22:22:53 +0000 Subject: [PATCH] #16764: Build break with poppler 22.03.0 git-svn-id: svn://scribus.net/trunk/Scribus@24982 11d20701-8431-0410-a711-e3c959e3b870 --- scribus/plugins/import/pdf/importpdf.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/scribus/plugins/import/pdf/importpdf.cpp b/scribus/plugins/import/pdf/importpdf.cpp index 154e58a3f..392dcd9e6 100644 --- a/scribus/plugins/import/pdf/importpdf.cpp +++ b/scribus/plugins/import/pdf/importpdf.cpp @@ -89,7 +89,11 @@ QImage PdfPlug::readThumbnail(const QString& fName) #endif globalParams->setErrQuiet(gTrue); +#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 3, 0) + PDFDoc pdfDoc{ std::make_unique<GooString>(fname) }; +#else PDFDoc pdfDoc{fname, nullptr, nullptr, nullptr}; +#endif if (!pdfDoc.isOk() || pdfDoc.getErrorCode() == errEncrypted) return QImage(); @@ -342,7 +346,11 @@ bool PdfPlug::convert(const QString& fn) globalParams->setErrQuiet(gTrue); // globalParams->setPrintCommands(gTrue); QList<OptionalContentGroup*> ocgGroups; +#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 3, 0) + auto pdfDoc = std::make_unique<PDFDoc>(std::make_unique<GooString>(fname)); +#else auto pdfDoc = std::unique_ptr<PDFDoc>(new PDFDoc(fname, nullptr, nullptr, nullptr)); +#endif if (pdfDoc) { if (pdfDoc->getErrorCode() == errEncrypted) @@ -361,8 +369,13 @@ bool PdfPlug::convert(const QString& fn) #else auto fname = new GooString(QFile::encodeName(fn).data()); #endif +#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 3, 0) + std::optional<GooString> userPW(std::in_place, text.toLocal8Bit().data()); + pdfDoc.reset(new PDFDoc(std::make_unique<GooString>(fname), userPW, userPW, nullptr)); +#else auto userPW = new GooString(text.toLocal8Bit().data()); pdfDoc.reset(new PDFDoc(fname, userPW, userPW, nullptr)); +#endif qApp->changeOverrideCursor(QCursor(Qt::WaitCursor)); } if ((!pdfDoc) || (pdfDoc->getErrorCode() != errNone)) -- 2.35.1 ++++++ 0001-Enforce-poppler-version-0.86.0.patch ++++++ >From 5838ad95e3378c0417bbd42d66ab24b63d585c92 Mon Sep 17 00:00:00 2001 From: jghali <jghali@11d20701-8431-0410-a711-e3c959e3b870> Date: Wed, 2 Mar 2022 22:48:29 +0000 Subject: [PATCH] Enforce poppler version >= 0.86.0 git-svn-id: svn://scribus.net/trunk/Scribus@24985 11d20701-8431-0410-a711-e3c959e3b870 --- cmake/modules/Findpoppler.cmake | 4 +- scribus/plugins/import/pdf/importpdf.cpp | 65 ++----------- scribus/plugins/import/pdf/slaoutput.cpp | 114 ----------------------- scribus/plugins/import/pdf/slaoutput.h | 7 -- 4 files changed, 10 insertions(+), 180 deletions(-) diff --git a/cmake/modules/Findpoppler.cmake b/cmake/modules/Findpoppler.cmake index 56ce613ae..9cab5532a 100644 --- a/cmake/modules/Findpoppler.cmake +++ b/cmake/modules/Findpoppler.cmake @@ -1,8 +1,8 @@ #include(FindPkgConfig) find_package(PkgConfig QUIET) -pkg_search_module(poppler libpoppler>=0.62.0 poppler>=0.62.0) +pkg_search_module(poppler libpoppler>=0.86.0 poppler>=0.86.0) if (poppler_FOUND) - pkg_search_module(poppler_cpp REQUIRED libpoppler-cpp>=0.62.0 poppler-cpp>=0.62.0) + pkg_search_module(poppler_cpp REQUIRED libpoppler-cpp>=0.86.0 poppler-cpp>=0.86.0) endif(poppler_FOUND) find_path(poppler_INCLUDE_DIR diff --git a/scribus/plugins/import/pdf/importpdf.cpp b/scribus/plugins/import/pdf/importpdf.cpp index 392dcd9e6..970a1a37c 100644 --- a/scribus/plugins/import/pdf/importpdf.cpp +++ b/scribus/plugins/import/pdf/importpdf.cpp @@ -74,20 +74,15 @@ 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 - std::unique_ptr<GlobalParams> globalParamsPtr(new GlobalParams()); - globalParams = globalParamsPtr.get(); -#endif + globalParams->setErrQuiet(gTrue); -#if defined(Q_OS_WIN32) && POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 62, 0) + QString pdfFile = QDir::toNativeSeparators(fName); +#if defined(Q_OS_WIN32) auto fname = new GooString(pdfFile.toUtf8().data()); #else auto fname = new GooString(QFile::encodeName(pdfFile).data()); #endif - globalParams->setErrQuiet(gTrue); #if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 3, 0) PDFDoc pdfDoc{ std::make_unique<GooString>(fname) }; @@ -332,19 +327,15 @@ bool PdfPlug::convert(const QString& fn) qApp->processEvents(); } -#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 83, 0) globalParams.reset(new GlobalParams()); -#else - std::unique_ptr<GlobalParams> globalParamsPtr(new GlobalParams()); - globalParams = globalParamsPtr.get(); -#endif -#if defined(Q_OS_WIN32) && POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 62, 0) + globalParams->setErrQuiet(gTrue); + +#if defined(Q_OS_WIN32) auto fname = new GooString(fn.toUtf8().data()); #else auto fname = new GooString(QFile::encodeName(fn).data()); #endif - globalParams->setErrQuiet(gTrue); -// globalParams->setPrintCommands(gTrue); + QList<OptionalContentGroup*> ocgGroups; #if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 3, 0) auto pdfDoc = std::make_unique<PDFDoc>(std::make_unique<GooString>(fname)); @@ -364,7 +355,7 @@ bool PdfPlug::convert(const QString& fn) QString text = QInputDialog::getText(mw, tr("Open PDF-File"), tr("Password"), QLineEdit::Normal, "", &ok); if (ok && !text.isEmpty()) { -#if defined(Q_OS_WIN32) && POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 62, 0) +#if defined(Q_OS_WIN32) auto fname = new GooString(fn.toUtf8().data()); #else auto fname = new GooString(QFile::encodeName(fn).data()); @@ -382,9 +373,6 @@ bool PdfPlug::convert(const QString& fn) { if (m_progressDialog) m_progressDialog->close(); -#if POPPLER_ENCODED_VERSION < POPPLER_VERSION_ENCODE(0, 83, 0) - delete globalParams; -#endif return false; } if (m_progressDialog) @@ -494,7 +482,6 @@ bool PdfPlug::convert(const QString& fn) } else { -#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 69, 0) const auto& ocgs = ocg->getOCGs (); for (const auto& ocg : ocgs) { @@ -506,25 +493,11 @@ bool PdfPlug::convert(const QString& fn) ocgNames.append(ocgName); } } -#else - GooList *ocgs = ocg->getOCGs (); - for (int i = 0; i < ocgs->getLength (); ++i) - { - OptionalContentGroup *oc = (OptionalContentGroup *)ocgs->get(i); - QString ocgName = UnicodeParsedString(oc->getName()); - if (!ocgNames.contains(ocgName)) - { - ocgGroups.prepend(oc); - ocgNames.append(ocgName); - } - } -#endif } } } else { -#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 69, 0) const auto& ocgs = ocg->getOCGs (); for (const auto& ocg : ocgs) { @@ -536,19 +509,6 @@ bool PdfPlug::convert(const QString& fn) ocgNames.append(ocgName); } } -#else - GooList *ocgs = ocg->getOCGs (); - for (int i = 0; i < ocgs->getLength (); ++i) - { - OptionalContentGroup *oc = (OptionalContentGroup *)ocgs->get(i); - QString ocgName = UnicodeParsedString(oc->getName()); - if (!ocgNames.contains(ocgName)) - { - ocgGroups.prepend(oc); - ocgNames.append(ocgName); - } - } -#endif } } @@ -787,13 +747,8 @@ bool PdfPlug::convert(const QString& fn) names = catDict.dictLookup("OpenAction"); if (names.isDict()) { -#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0) std::unique_ptr<LinkAction> linkActionUPtr = LinkAction::parseAction(&names, pdfDoc->getCatalog()->getBaseURI()); LinkAction *linkAction = linkActionUPtr.get(); -#else - LinkAction *linkAction = nullptr; - linkAction = LinkAction::parseAction(&names, pdfDoc->getCatalog()->getBaseURI()); -#endif if (linkAction && (linkAction->getKind() == actionJavaScript)) { LinkJavaScript *jsa = (LinkJavaScript*) linkAction; @@ -861,11 +816,7 @@ bool PdfPlug::convert(const QString& fn) } pdfDoc.reset(); } -#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 83, 0) globalParams.reset(); -#else - globalParams = nullptr; -#endif // qDebug() << "converting finished"; // qDebug() << "Imported" << m_elements.count() << "Elements"; diff --git a/scribus/plugins/import/pdf/slaoutput.cpp b/scribus/plugins/import/pdf/slaoutput.cpp index a6f4e00fa..b6f2b8c21 100644 --- a/scribus/plugins/import/pdf/slaoutput.cpp +++ b/scribus/plugins/import/pdf/slaoutput.cpp @@ -332,15 +332,9 @@ LinkAction* SlaOutputDev::SC_getAction(AnnotWidget *ano) } /* Replacement for the crippled Poppler function LinkAction* AnnotWidget::getAdditionalAction(AdditionalActionsType type) */ -#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0) std::unique_ptr<LinkAction> SlaOutputDev::SC_getAdditionalAction(const char *key, AnnotWidget *ano) { std::unique_ptr<LinkAction> linkAction; -#else -LinkAction* SlaOutputDev::SC_getAdditionalAction(const char *key, AnnotWidget *ano) -{ - LinkAction *linkAction = nullptr; -#endif Object obj; Ref refa = ano->getRef(); @@ -467,11 +461,7 @@ bool SlaOutputDev::handleLinkAnnot(Annot* annota, double xCoor, double yCoor, do if (dst->isPageRef()) { Ref dstr = dst->getPageRef(); -#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 76, 0) pagNum = pdfDoc->findPage(dstr); -#else - pagNum = pdfDoc->findPage(dstr.num, dstr.gen); -#endif } else pagNum = dst->getPageNum(); @@ -485,11 +475,7 @@ bool SlaOutputDev::handleLinkAnnot(Annot* annota, double xCoor, double yCoor, do POPPLER_CONST GooString *ndst = gto->getNamedDest(); if (ndst) { -#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0) std::unique_ptr<LinkDest> dstn = pdfDoc->findDest(ndst); -#else - LinkDest *dstn = pdfDoc->findDest(ndst); -#endif if (dstn) { if (dstn->getKind() == destXYZ) @@ -497,11 +483,7 @@ bool SlaOutputDev::handleLinkAnnot(Annot* annota, double xCoor, double yCoor, do if (dstn->isPageRef()) { Ref dstr = dstn->getPageRef(); -#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 76, 0) pagNum = pdfDoc->findPage(dstr); -#else - pagNum = pdfDoc->findPage(dstr.num, dstr.gen); -#endif } else pagNum = dstn->getPageNum(); @@ -533,11 +515,7 @@ bool SlaOutputDev::handleLinkAnnot(Annot* annota, double xCoor, double yCoor, do POPPLER_CONST GooString *ndst = gto->getNamedDest(); if (ndst) { -#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0) std::unique_ptr<LinkDest> dstn = pdfDoc->findDest(ndst); -#else - LinkDest *dstn = pdfDoc->findDest(ndst); -#endif if (dstn) { if (dstn->getKind() == destXYZ) @@ -985,11 +963,7 @@ void SlaOutputDev::handleActions(PageItem* ite, AnnotWidget *ano) if (dst->isPageRef()) { Ref dstr = dst->getPageRef(); -#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 76, 0) pagNum = pdfDoc->findPage(dstr); -#else - pagNum = pdfDoc->findPage(dstr.num, dstr.gen); -#endif } else pagNum = dst->getPageNum(); @@ -1005,11 +979,7 @@ void SlaOutputDev::handleActions(PageItem* ite, AnnotWidget *ano) POPPLER_CONST GooString *ndst = gto->getNamedDest(); if (ndst) { -#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0) std::unique_ptr<LinkDest> dstn = pdfDoc->findDest(ndst); -#else - LinkDest *dstn = pdfDoc->findDest(ndst); -#endif if (dstn) { if (dstn->getKind() == destXYZ) @@ -1017,11 +987,7 @@ void SlaOutputDev::handleActions(PageItem* ite, AnnotWidget *ano) if (dstn->isPageRef()) { Ref dstr = dstn->getPageRef(); -#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 76, 0) pagNum = pdfDoc->findPage(dstr); -#else - pagNum = pdfDoc->findPage(dstr.num, dstr.gen); -#endif } else pagNum = dstn->getPageNum(); @@ -1061,11 +1027,7 @@ void SlaOutputDev::handleActions(PageItem* ite, AnnotWidget *ano) POPPLER_CONST GooString *ndst = gto->getNamedDest(); if (ndst) { -#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0) std::unique_ptr<LinkDest> dstn = pdfDoc->findDest(ndst); -#else - LinkDest *dstn = pdfDoc->findDest(ndst); -#endif if (dstn) { if (dstn->getKind() == destXYZ) @@ -1139,143 +1101,91 @@ void SlaOutputDev::handleActions(PageItem* ite, AnnotWidget *ano) { if (Aact->getKind() == actionJavaScript) { -#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0) LinkJavaScript *jsa = (LinkJavaScript*) Aact.get(); -#else - LinkJavaScript *jsa = (LinkJavaScript*) Aact; -#endif if (jsa->isOk()) { ite->annotation().setD_act(UnicodeParsedString(jsa->getScript())); ite->annotation().setAAact(true); } } -#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0) Aact.reset(); -#else - Aact = nullptr; -#endif } Aact = SC_getAdditionalAction("E", ano); if (Aact) { if (Aact->getKind() == actionJavaScript) { -#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0) LinkJavaScript *jsa = (LinkJavaScript*) Aact.get(); -#else - LinkJavaScript *jsa = (LinkJavaScript*) Aact; -#endif if (jsa->isOk()) { ite->annotation().setE_act(UnicodeParsedString(jsa->getScript())); ite->annotation().setAAact(true); } } -#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0) Aact.reset(); -#else - Aact = nullptr; -#endif } Aact = SC_getAdditionalAction("X", ano); if (Aact) { if (Aact->getKind() == actionJavaScript) { -#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0) LinkJavaScript *jsa = (LinkJavaScript*) Aact.get(); -#else - LinkJavaScript *jsa = (LinkJavaScript*) Aact; -#endif if (jsa->isOk()) { ite->annotation().setX_act(UnicodeParsedString(jsa->getScript())); ite->annotation().setAAact(true); } } -#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0) Aact.reset(); -#else - Aact = nullptr; -#endif } Aact = SC_getAdditionalAction("Fo", ano); if (Aact) { if (Aact->getKind() == actionJavaScript) { -#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0) LinkJavaScript *jsa = (LinkJavaScript*) Aact.get(); -#else - LinkJavaScript *jsa = (LinkJavaScript*) Aact; -#endif if (jsa->isOk()) { ite->annotation().setFo_act(UnicodeParsedString(jsa->getScript())); ite->annotation().setAAact(true); } } -#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0) Aact.reset(); -#else - Aact = nullptr; -#endif } Aact = SC_getAdditionalAction("Bl", ano); if (Aact) { if (Aact->getKind() == actionJavaScript) { -#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0) LinkJavaScript *jsa = (LinkJavaScript*) Aact.get(); -#else - LinkJavaScript *jsa = (LinkJavaScript*) Aact; -#endif if (jsa->isOk()) { ite->annotation().setBl_act(UnicodeParsedString(jsa->getScript())); ite->annotation().setAAact(true); } } -#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0) Aact.reset(); -#else - Aact = nullptr; -#endif } Aact = SC_getAdditionalAction("C", ano); if (Aact) { if (Aact->getKind() == actionJavaScript) { -#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0) LinkJavaScript *jsa = (LinkJavaScript*) Aact.get(); -#else - LinkJavaScript *jsa = (LinkJavaScript*) Aact; -#endif if (jsa->isOk()) { ite->annotation().setC_act(UnicodeParsedString(jsa->getScript())); ite->annotation().setAAact(true); } } -#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0) Aact.reset(); -#else - Aact = nullptr; -#endif } Aact = SC_getAdditionalAction("F", ano); if (Aact) { if (Aact->getKind() == actionJavaScript) { -#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0) LinkJavaScript *jsa = (LinkJavaScript*) Aact.get(); -#else - LinkJavaScript *jsa = (LinkJavaScript*) Aact; -#endif if (jsa->isOk()) { ite->annotation().setF_act(UnicodeParsedString(jsa->getScript())); @@ -1283,22 +1193,14 @@ void SlaOutputDev::handleActions(PageItem* ite, AnnotWidget *ano) ite->annotation().setFormat(5); } } -#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0) Aact.reset(); -#else - Aact = nullptr; -#endif } Aact = SC_getAdditionalAction("K", ano); if (Aact) { if (Aact->getKind() == actionJavaScript) { -#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0) LinkJavaScript *jsa = (LinkJavaScript*) Aact.get(); -#else - LinkJavaScript *jsa = (LinkJavaScript*) Aact; -#endif if (jsa->isOk()) { ite->annotation().setK_act(UnicodeParsedString(jsa->getScript())); @@ -1306,33 +1208,21 @@ void SlaOutputDev::handleActions(PageItem* ite, AnnotWidget *ano) ite->annotation().setFormat(5); } } -#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0) Aact.reset(); -#else - Aact = nullptr; -#endif } Aact = SC_getAdditionalAction("V", ano); if (Aact) { if (Aact->getKind() == actionJavaScript) { -#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0) LinkJavaScript *jsa = (LinkJavaScript*) Aact.get(); -#else - LinkJavaScript *jsa = (LinkJavaScript*) Aact; -#endif if (jsa->isOk()) { ite->annotation().setV_act(UnicodeParsedString(jsa->getScript())); ite->annotation().setAAact(true); } } -#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0) Aact.reset(); -#else - Aact = nullptr; -#endif } } @@ -1342,11 +1232,7 @@ 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, false, false, true); -#else - m_fontEngine = new SplashFontEngine(globalParams->getEnableFreeType(), false, false, true); -#endif } void SlaOutputDev::startPage(int pageNum, GfxState *, XRef *) diff --git a/scribus/plugins/import/pdf/slaoutput.h b/scribus/plugins/import/pdf/slaoutput.h index 02e538253..601e28745 100644 --- a/scribus/plugins/import/pdf/slaoutput.h +++ b/scribus/plugins/import/pdf/slaoutput.h @@ -30,9 +30,6 @@ for which a new license (GPL+exception) is in place. #include "selection.h" #include "vgradient.h" -#if POPPLER_ENCODED_VERSION < POPPLER_VERSION_ENCODE(0, 73, 0) -#include <poppler/goo/gtypes.h> -#endif #include <poppler/Object.h> #include <poppler/OutputDev.h> #include <poppler/Gfx.h> @@ -163,11 +160,7 @@ public: virtual ~SlaOutputDev(); LinkAction* SC_getAction(AnnotWidget *ano); -#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0) std::unique_ptr<LinkAction> SC_getAdditionalAction(const char *key, AnnotWidget *ano); -#else - LinkAction* SC_getAdditionalAction(const char *key, AnnotWidget *ano); -#endif static GBool annotations_callback(Annot *annota, void *user_data); bool handleTextAnnot(Annot* annota, double xCoor, double yCoor, double width, double height); bool handleLinkAnnot(Annot* annota, double xCoor, double yCoor, double width, double height); -- 2.35.1 ++++++ 0001-Small-update-vs-latest-code-in-poppler.patch ++++++ >From 0ac8654a468b077fd1c736f4c6245435efd70d13 Mon Sep 17 00:00:00 2001 From: jghali <jghali@11d20701-8431-0410-a711-e3c959e3b870> Date: Thu, 3 Feb 2022 19:46:13 +0000 Subject: [PATCH] Small update vs latest code in poppler git-svn-id: svn://scribus.net/trunk/Scribus@24885 11d20701-8431-0410-a711-e3c959e3b870 --- scribus/plugins/import/pdf/slaoutput.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scribus/plugins/import/pdf/slaoutput.cpp b/scribus/plugins/import/pdf/slaoutput.cpp index 3650c96f5..a6f4e00fa 100644 --- a/scribus/plugins/import/pdf/slaoutput.cpp +++ b/scribus/plugins/import/pdf/slaoutput.cpp @@ -3072,10 +3072,10 @@ void SlaOutputDev::updateFont(GfxState *state) delete id; else { - if (!(fontLoc = gfxFont->locateFont(xref, nullptr))) + fontLoc = gfxFont->locateFont((xref) ? xref : pdfDoc->getXRef(), nullptr); + if (!fontLoc) { - error(errSyntaxError, -1, "Couldn't find a font for '{0:s}'", - gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)"); + error(errSyntaxError, -1, "Couldn't find a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)"); goto err2; } -- 2.35.1