summarylogtreecommitdiffstats
path: root/fix-poppler-issue.patch
diff options
context:
space:
mode:
authorBruno Pagani2018-05-02 23:56:11 +0200
committerBruno Pagani2018-05-02 23:56:11 +0200
commitc5991b220cedf82c3ee273b85019cae9df611ae6 (patch)
treecf7a4fc2b8180c35fbfc1b443a300a6e36a67858 /fix-poppler-issue.patch
parent4bd421037571abe0806ce5e6b6c466b8b3474a9a (diff)
downloadaur-scribus-devel.tar.gz
upgpkg: scribus-devel 1.5.4-1
Upstream release + patches. Remove old patches. Switch CMAKE_BUILD_TYPE according to new distro policy.
Diffstat (limited to 'fix-poppler-issue.patch')
-rw-r--r--fix-poppler-issue.patch534
1 files changed, 0 insertions, 534 deletions
diff --git a/fix-poppler-issue.patch b/fix-poppler-issue.patch
deleted file mode 100644
index 61f5552f959e..000000000000
--- a/fix-poppler-issue.patch
+++ /dev/null
@@ -1,534 +0,0 @@
-From 61186c7ef083046b7e0c908952e8a773e2787d82 Mon Sep 17 00:00:00 2001
-From: Jean Ghali <jghali@libertysurf.fr>
-Date: Fri, 8 Sep 2017 16:52:10 +0000
-Subject: [PATCH] #14979: poppler-0.58 breaks build
-
-git-svn-id: svn://scribus.net/trunk/Scribus@22154 11d20701-8431-0410-a711-e3c959e3b870
----
- scribus/plugins/import/pdf/importpdf.cpp | 95 +++++++++++++++--
- scribus/plugins/import/pdf/slaoutput.cpp | 174 ++++++++++++++++++++++++++++++-
- 2 files changed, 258 insertions(+), 11 deletions(-)
-
-diff --git a/scribus/plugins/import/pdf/importpdf.cpp b/scribus/plugins/import/pdf/importpdf.cpp
-index 4c462beadd..1c0bd8a888 100644
---- a/scribus/plugins/import/pdf/importpdf.cpp
-+++ b/scribus/plugins/import/pdf/importpdf.cpp
-@@ -22,6 +22,7 @@ for which a new license (GPL+exception) is in place.
- #include <poppler/PageTransition.h>
- #include <poppler/ViewerPreferences.h>
- #include <poppler/poppler-config.h>
-+#include <poppler/cpp/poppler-version.h>
- #include <poppler/SplashOutputDev.h>
- #include <poppler/splash/SplashBitmap.h>
-
-@@ -59,6 +60,12 @@ for which a new license (GPL+exception) is in place.
- #include "ui/multiprogressdialog.h"
- #include "ui/propertiespalette.h"
-
-+#define POPPLER_VERSION_ENCODE(major, minor, micro) ( \
-+ ((major) * 10000) \
-+ + ((minor) * 100) \
-+ + ((micro) * 1))
-+#define POPPLER_ENCODED_VERSION POPPLER_VERSION_ENCODE(POPPLER_VERSION_MAJOR, POPPLER_VERSION_MINOR, POPPLER_VERSION_MICRO)
-+
- PdfPlug::PdfPlug(ScribusDoc* doc, int flags)
- {
- tmpSele = new Selection(this, false);
-@@ -507,12 +514,20 @@ bool PdfPlug::convert(const QString& fn)
- {
- for (int i = 0; i < order->getLength (); ++i)
- {
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 58, 0)
-+ Object orderItem = order->get(i);
-+#else
- Object orderItem;
- order->get(i, &orderItem);
-+#endif
- if (orderItem.isDict())
- {
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 58, 0)
-+ Object ref = order->getNF(i);
-+#else
- Object ref;
- order->getNF(i, &ref);
-+#endif
- if (ref.isRef())
- {
- OptionalContentGroup *oc = ocg->findOcgByRef(ref.getRef());
-@@ -523,7 +538,9 @@ bool PdfPlug::convert(const QString& fn)
- ocgNames.append(ocgName);
- }
- }
-+#if POPPLER_ENCODED_VERSION < POPPLER_VERSION_ENCODE(0, 58, 0)
- ref.free();
-+#endif
- }
- else
- {
-@@ -597,39 +614,71 @@ bool PdfPlug::convert(const QString& fn)
- dev->layersSetByOCG = true;
- }
- #endif
-+
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 58, 0)
-+ Object info = pdfDoc->getDocInfo();
-+ if (info.isDict())
-+ {
-+ Object obj;
-+ Dict *infoDict = info.getDict();
-+ obj = infoDict->lookup((char*) "Title");
-+ if (obj.isString())
-+ {
-+ m_Doc->documentInfo().setTitle(UnicodeParsedString(obj.getString()));
-+ }
-+ obj = infoDict->lookup((char*) "Author");
-+ if (obj.isString())
-+ {
-+ m_Doc->documentInfo().setAuthor(UnicodeParsedString(obj.getString()));
-+ }
-+ obj = infoDict->lookup((char*) "Subject");
-+ if (obj.isString())
-+ {
-+ m_Doc->documentInfo().setSubject(UnicodeParsedString(obj.getString()));
-+ }
-+ obj = infoDict->lookup((char*) "Keywords");
-+ if (obj.isString())
-+ {
-+ // s1 = obj.getString();
-+ m_Doc->documentInfo().setKeywords(UnicodeParsedString(obj.getString()));
-+ }
-+ }
-+ info = Object();
-+#else
- Object info;
- pdfDoc->getDocInfo(&info);
- if (info.isDict())
- {
- Object obj;
-- // GooString *s1;
-+ // GooString *s1;
- Dict *infoDict = info.getDict();
-- if (infoDict->lookup((char*)"Title", &obj )->isString())
-+ if (infoDict->lookup((char*)"Title", &obj)->isString())
- {
-- // s1 = obj.getString();
-+ // s1 = obj.getString();
- m_Doc->documentInfo().setTitle(UnicodeParsedString(obj.getString()));
- obj.free();
- }
-- if (infoDict->lookup((char*)"Author", &obj )->isString())
-+ if (infoDict->lookup((char*)"Author", &obj)->isString())
- {
-- // s1 = obj.getString();
-+ // s1 = obj.getString();
- m_Doc->documentInfo().setAuthor(UnicodeParsedString(obj.getString()));
- obj.free();
- }
-- if (infoDict->lookup((char*)"Subject", &obj )->isString())
-+ if (infoDict->lookup((char*)"Subject", &obj)->isString())
- {
-- // s1 = obj.getString();
-+ // s1 = obj.getString();
- m_Doc->documentInfo().setSubject(UnicodeParsedString(obj.getString()));
- obj.free();
- }
-- if (infoDict->lookup((char*)"Keywords", &obj )->isString())
-+ if (infoDict->lookup((char*)"Keywords", &obj)->isString())
- {
-- // s1 = obj.getString();
-+ // s1 = obj.getString();
- m_Doc->documentInfo().setKeywords(UnicodeParsedString(obj.getString()));
- obj.free();
- }
- }
- info.free();
-+#endif
- if (cropped)
- {
- QRectF crBox = getCBox(contentRect, pageNs[0]);
-@@ -746,8 +795,13 @@ bool PdfPlug::convert(const QString& fn)
- pdfDoc->displayPage(dev, pp, hDPI, vDPI, rotate, useMediaBox, crop, printing, NULL, NULL, dev->annotations_callback, dev);
- }
- PDFPresentationData ef;
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 58, 0)
-+ Object trans = pdfDoc->getPage(pp)->getTrans();
-+ Object *transi = &trans;
-+#else
- Object trans;
- Object *transi = pdfDoc->getPage(pp)->getTrans(&trans);
-+#endif
- if (transi->isDict())
- {
- m_Doc->pdfOptions().PresentMode = true;
-@@ -793,32 +847,51 @@ bool PdfPlug::convert(const QString& fn)
- delete pgTrans;
- }
- m_Doc->currentPage()->PresentVals = ef;
-+#if POPPLER_ENCODED_VERSION < POPPLER_VERSION_ENCODE(0, 58, 0)
- trans.free();
- transi->free();
-+#endif
- }
- int numjs = pdfDoc->getCatalog()->numJS();
- if (numjs > 0)
- {
- NameTree *jsNameTreeP = new NameTree();
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 58, 0)
-+ Object catDict = pdfDoc->getXRef()->getCatalog();
-+#else
- Object catDict;
- pdfDoc->getXRef()->getCatalog(&catDict);
-+#endif
- if (catDict.isDict())
- {
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 58, 0)
-+ Object names = catDict.dictLookup("Names");
-+#else
- Object names;
- catDict.dictLookup("Names", &names);
-+#endif
- if (names.isDict())
- {
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 58, 0)
-+ Object obj = names.dictLookup("JavaScript");
-+ jsNameTreeP->init(pdfDoc->getXRef(), &obj);
-+#else
- Object obj;
- names.dictLookup("JavaScript", &obj);
- jsNameTreeP->init(pdfDoc->getXRef(), &obj);
- obj.free();
-+#endif
- }
- for (int a = 0; a < numjs; a++)
- {
- m_Doc->JavaScripts.insert(UnicodeParsedString(jsNameTreeP->getName(a)), UnicodeParsedString(pdfDoc->getCatalog()->getJS(a)));
- }
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 58, 0)
-+ names = catDict.dictLookup("OpenAction");
-+#else
- names.free();
- catDict.dictLookup("OpenAction", &names);
-+#endif
- if (names.isDict())
- {
- LinkAction *linkAction = NULL;
-@@ -839,9 +912,13 @@ bool PdfPlug::convert(const QString& fn)
- }
- }
- }
-+#if POPPLER_ENCODED_VERSION < POPPLER_VERSION_ENCODE(0, 58, 0)
- names.free();
-+#endif
- }
-+#if POPPLER_ENCODED_VERSION < POPPLER_VERSION_ENCODE(0, 58, 0)
- catDict.free();
-+#endif
- delete jsNameTreeP;
- }
- m_Doc->pdfOptions().Version = (PDFOptions::PDFVersion)qMin(15, qMax(13, pdfDoc->getPDFMajorVersion() * 10 + pdfDoc->getPDFMinorVersion()));
-diff --git a/scribus/plugins/import/pdf/slaoutput.cpp b/scribus/plugins/import/pdf/slaoutput.cpp
-index 32cfed1012..ffa417a3b6 100644
---- a/scribus/plugins/import/pdf/slaoutput.cpp
-+++ b/scribus/plugins/import/pdf/slaoutput.cpp
-@@ -6,6 +6,7 @@ for which a new license (GPL+exception) is in place.
- */
-
- #include "slaoutput.h"
-+#include <poppler/cpp/poppler-version.h>
- #include <poppler/GlobalParams.h>
- #include <poppler/poppler-config.h>
- #include <poppler/FileSpec.h>
-@@ -19,11 +20,49 @@ for which a new license (GPL+exception) is in place.
- #include "util_math.h"
- #include <tiffio.h>
-
-+#define POPPLER_VERSION_ENCODE(major, minor, micro) ( \
-+ ((major) * 10000) \
-+ + ((minor) * 100) \
-+ + ((micro) * 1))
-+#define POPPLER_ENCODED_VERSION POPPLER_VERSION_ENCODE(POPPLER_VERSION_MAJOR, POPPLER_VERSION_MINOR, POPPLER_VERSION_MICRO)
-+
- LinkSubmitForm::LinkSubmitForm(Object *actionObj)
- {
- Object obj1, obj2, obj3;
- fileName = NULL;
- m_flags = 0;
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 58, 0)
-+ if (actionObj->isDict())
-+ {
-+ obj1 = actionObj->dictLookup("F");
-+ if (!obj1.isNull())
-+ {
-+ if (obj1.isDict())
-+ {
-+ obj3 = obj1.dictLookup("FS");
-+ if (!obj3.isNull())
-+ {
-+ if (obj3.isName())
-+ {
-+ char *name = obj3.getName();
-+ if (!strcmp(name, "URL"))
-+ {
-+ obj2 = obj1.dictLookup("F");
-+ if (!obj2.isNull())
-+ fileName = obj2.getString()->copy();
-+ }
-+ }
-+ }
-+ }
-+ }
-+ obj1 = actionObj->dictLookup("Flags");
-+ if (!obj1.isNull())
-+ {
-+ if (obj1.isNum())
-+ m_flags = obj1.getInt();
-+ }
-+ }
-+#else
- if (actionObj->isDict())
- {
- if (!actionObj->dictLookup("F", &obj1)->isNull())
-@@ -54,6 +93,7 @@ LinkSubmitForm::LinkSubmitForm(Object *actionObj)
- }
- obj1.free();
- }
-+#endif
- }
-
- LinkSubmitForm::~LinkSubmitForm()
-@@ -66,11 +106,25 @@ LinkImportData::LinkImportData(Object *actionObj)
- {
- Object obj1, obj3;
- fileName = NULL;
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 58, 0)
-+ if (actionObj->isDict())
-+ {
-+ obj1 = actionObj->dictLookup("F");
-+ if (!obj1.isNull())
-+ {
-+ obj3 = getFileSpecNameForPlatform(&obj1);
-+ if (!obj3.isNull())
-+ {
-+ fileName = obj3.getString()->copy();
-+ }
-+ }
-+ }
-+#else
- if (actionObj->isDict())
- {
- if (!actionObj->dictLookup("F", &obj1)->isNull())
- {
-- if (getFileSpecNameForPlatform (&obj1, &obj3))
-+ if (getFileSpecNameForPlatform(&obj1, &obj3))
- {
- fileName = obj3.getString()->copy();
- obj3.free();
-@@ -78,6 +132,7 @@ LinkImportData::LinkImportData(Object *actionObj)
- }
- obj1.free();
- }
-+#endif
- }
-
- LinkImportData::~LinkImportData()
-@@ -256,6 +311,27 @@ LinkAction* SlaOutputDev::SC_getAction(AnnotWidget *ano)
- Object obj;
- Ref refa = ano->getRef();
- Object additionalActions;
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 58, 0)
-+ obj = xref->fetch(refa.num, refa.gen);
-+ if (obj.isDict())
-+ {
-+ Dict* adic = obj.getDict();
-+ additionalActions = adic->lookupNF("A");
-+ Object additionalActionsObject = additionalActions.fetch(pdfDoc->getXRef());
-+ if (additionalActionsObject.isDict())
-+ {
-+ Object actionObject = additionalActionsObject.dictLookup("S");
-+ if (actionObject.isName("ImportData"))
-+ {
-+ linkAction = new LinkImportData(&additionalActionsObject);
-+ }
-+ else if (actionObject.isName("SubmitForm"))
-+ {
-+ linkAction = new LinkSubmitForm(&additionalActionsObject);
-+ }
-+ }
-+ }
-+#else
- Object *act = xref->fetch(refa.num, refa.gen, &obj);
- if (act)
- {
-@@ -283,6 +359,7 @@ LinkAction* SlaOutputDev::SC_getAction(AnnotWidget *ano)
- }
- }
- obj.free();
-+#endif
- return linkAction;
- }
-
-@@ -293,6 +370,22 @@ LinkAction* SlaOutputDev::SC_getAdditionalAction(const char *key, AnnotWidget *a
- Object obj;
- Ref refa = ano->getRef();
- Object additionalActions;
-+
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 58, 0)
-+ obj = xref->fetch(refa.num, refa.gen);
-+ if (obj.isDict())
-+ {
-+ Dict* adic = obj.getDict();
-+ additionalActions = adic->lookupNF("AA");
-+ Object additionalActionsObject = additionalActions.fetch(pdfDoc->getXRef());
-+ if (additionalActionsObject.isDict())
-+ {
-+ Object actionObject = additionalActionsObject.dictLookup(key);
-+ if (actionObject.isDict())
-+ linkAction = LinkAction::parseAction(&actionObject, pdfDoc->getCatalog()->getBaseURI());
-+ }
-+ }
-+#else
- Object *act = xref->fetch(refa.num, refa.gen, &obj);
- if (act)
- {
-@@ -313,6 +406,7 @@ LinkAction* SlaOutputDev::SC_getAdditionalAction(const char *key, AnnotWidget *a
- }
- }
- obj.free();
-+#endif
- return linkAction;
- }
-
-@@ -838,6 +932,33 @@ bool SlaOutputDev::handleWidgetAnnot(Annot* annota, double xCoor, double yCoor,
- {
- Object obj1;
- Ref refa = annota->getRef();
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 58, 0)
-+ obj1 = xref->fetch(refa.num, refa.gen);
-+ if (obj1.isDict())
-+ {
-+ Dict* dict = obj1.getDict();
-+ Object obj2 = dict->lookup("Kids");
-+ //childs
-+ if (obj2.isArray())
-+ {
-+ // Load children
-+ QList<int> radList;
-+ for (int i = 0; i < obj2.arrayGetLength(); i++)
-+ {
-+ Object childRef = obj2.arrayGetNF(i);
-+ if (!childRef.isRef())
-+ continue;
-+ Object childObj = obj2.arrayGet(i);
-+ if (!childObj.isDict())
-+ continue;
-+ const Ref ref = childRef.getRef();
-+ radList.append(ref.num);
-+ }
-+ QString tmTxt = UnicodeParsedString(annota->getName());
-+ m_radioMap.insert(tmTxt, radList);
-+ }
-+ }
-+#else
- Object *act = xref->fetch(refa.num, refa.gen, &obj1);
- if (act && act->isDict())
- {
-@@ -873,6 +994,7 @@ bool SlaOutputDev::handleWidgetAnnot(Annot* annota, double xCoor, double yCoor,
- obj2.free();
- }
- obj1.free();
-+#endif
- }
- return retVal;
- }
-@@ -3007,6 +3129,23 @@ void SlaOutputDev::beginMarkedContent(char *name, Object *dictRef)
- }
- else
- {
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 58, 0)
-+ dictObj = dictRef->fetch(xref);
-+ if (!dictObj.isDict())
-+ return;
-+ dict = dictObj.getDict();
-+ dictType = dict->lookup("Type");
-+ if (dictType.isName("OCG"))
-+ {
-+ oc = contentConfig->findOcgByRef(dictRef->getRef());
-+ if (oc)
-+ {
-+ // qDebug() << "Begin OCG Content with Name " << UnicodeParsedString(oc->getName());
-+ m_doc->setActiveLayer(UnicodeParsedString(oc->getName()));
-+ mSte.ocgName = UnicodeParsedString(oc->getName());
-+ }
-+ }
-+#else
- dictRef->fetch(xref, &dictObj);
- if (!dictObj.isDict())
- {
-@@ -3027,6 +3166,7 @@ void SlaOutputDev::beginMarkedContent(char *name, Object *dictRef)
- }
- dictType.free();
- dictObj.free();
-+#endif
- }
- }
- m_mcStack.push(mSte);
-@@ -3046,14 +3186,20 @@ void SlaOutputDev::beginMarkedContent(char *name, Dict *properties)
- {
- if (layersSetByOCG)
- return;
-- Object obj;
- QString lName = QString("Layer_%1").arg(layerNum + 1);
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 58, 0)
-+ Object obj = properties->lookup((char*) "Title");
-+ if (obj.isString())
-+ lName = QString(obj.getString()->getCString());
-+#else
-+ Object obj;
- if (properties->lookup((char*)"Title", &obj))
- {
- if (obj.isString())
- lName = QString(obj.getString()->getCString());
- obj.free();
- }
-+#endif
- for (ScLayers::iterator it = m_doc->Layers.begin(); it != m_doc->Layers.end(); ++it)
- {
- if (it->Name == lName)
-@@ -3066,6 +3212,29 @@ void SlaOutputDev::beginMarkedContent(char *name, Dict *properties)
- if (!firstLayer)
- currentLayer = m_doc->addLayer(lName, true);
- firstLayer = false;
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 58, 0)
-+ obj = properties->lookup((char*) "Visible");
-+ if (obj.isBool())
-+ m_doc->setLayerVisible(currentLayer, obj.getBool());
-+ obj = properties->lookup((char*) "Editable");
-+ if (obj.isBool())
-+ m_doc->setLayerLocked(currentLayer, !obj.getBool());
-+ obj = properties->lookup((char*) "Printed");
-+ if (obj.isBool())
-+ m_doc->setLayerPrintable(currentLayer, obj.getBool());
-+ obj = properties->lookup((char*)"Color");
-+ if (obj.isArray())
-+ {
-+ Object obj1;
-+ obj1 = obj.arrayGet(0);
-+ int r = obj1.getNum() / 256;
-+ obj1 = obj.arrayGet(1);
-+ int g = obj1.getNum() / 256;
-+ obj1 = obj.arrayGet(2);
-+ int b = obj1.getNum() / 256;
-+ m_doc->setLayerMarker(currentLayer, QColor(r, g, b));
-+ }
-+#else
- if (properties->lookup((char*)"Visible", &obj))
- {
- if (obj.isBool())
-@@ -3102,6 +3271,7 @@ void SlaOutputDev::beginMarkedContent(char *name, Dict *properties)
- }
- obj.free();
- }
-+#endif
- }
- }
- }