diff options
-rw-r--r-- | download.lst | 4 | ||||
-rw-r--r-- | external/poppler/0001-Fix-building-with-old-clang.patch.1 | 25 | ||||
-rw-r--r-- | external/poppler/UnpackedTarball_poppler.mk | 1 | ||||
-rw-r--r-- | external/poppler/ubsan.patch.0 | 26 |
4 files changed, 42 insertions, 14 deletions
diff --git a/download.lst b/download.lst index 6e78918b3f06..e3bb5d884e4b 100644 --- a/download.lst +++ b/download.lst @@ -193,8 +193,8 @@ export PIXMAN_SHA256SUM := 21b6b249b51c6800dc9553b65106e1e37d0e25df942c90531d4c3 export PIXMAN_TARBALL := e80ebae4da01e77f68744319f01d52a3-pixman-0.34.0.tar.gz export PNG_SHA256SUM := 267c332ffff70cc599d3929207869f698798f1df143aa5f9597b007c14353666 export PNG_TARBALL := libpng-1.6.30.tar.xz -export POPPLER_SHA256SUM := 0ea37de71b7db78212ebc79df59f99b66409a29c2eac4d882dae9f2397fe44d8 -export POPPLER_TARBALL := poppler-0.57.0.tar.xz +export POPPLER_SHA256SUM := a3d626b24cd14efa9864e12584b22c9c32f51c46417d7c10ca17651f297c9641 +export POPPLER_TARBALL := poppler-0.59.0.tar.xz export POSTGRESQL_SHA256SUM := db61d498105a7d5fe46185e67ac830c878cdd7dc1f82a87f06b842217924c461 export POSTGRESQL_TARBALL := c0b4799ea9850eae3ead14f0a60e9418-postgresql-9.2.1.tar.bz2 export PYTHON_SHA256SUM := 6ed87a8b6c758cc3299a8b433e8a9a9122054ad5bc8aad43299cff3a53d8ca44 diff --git a/external/poppler/0001-Fix-building-with-old-clang.patch.1 b/external/poppler/0001-Fix-building-with-old-clang.patch.1 new file mode 100644 index 000000000000..dcddd11d2967 --- /dev/null +++ b/external/poppler/0001-Fix-building-with-old-clang.patch.1 @@ -0,0 +1,25 @@ +From dd80c182cbcb188af0dd590f222ba9bbb31e3fb7 Mon Sep 17 00:00:00 2001 +From: Albert Astals Cid <aacid@kde.org> +Date: Mon, 4 Sep 2017 19:36:06 +0200 +Subject: [PATCH] Fix building with old clang + +--- + poppler/StructElement.cc | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/poppler/StructElement.cc b/poppler/StructElement.cc +index 0fbd336a..451213f8 100644 +--- a/poppler/StructElement.cc ++++ b/poppler/StructElement.cc +@@ -248,6 +248,8 @@ struct AttributeMapEntry { + }; + + struct AttributeDefaults { ++ AttributeDefaults() {}; // needed to support old clang ++ + Object Inline = Object(objName, "Inline"); + Object LrTb = Object(objName, "LrTb"); + Object Normal = Object(objName, "Normal"); +-- +2.13.5 + diff --git a/external/poppler/UnpackedTarball_poppler.mk b/external/poppler/UnpackedTarball_poppler.mk index 8c87693b82ec..fc62974521fa 100644 --- a/external/poppler/UnpackedTarball_poppler.mk +++ b/external/poppler/UnpackedTarball_poppler.mk @@ -16,6 +16,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,poppler,\ external/poppler/poppler-mac-fake.patch.1 \ external/poppler/ubsan.patch.0 \ external/poppler/poppler-libjpeg.patch.1 \ + external/poppler/0001-Fix-building-with-old-clang.patch.1 \ )) # vim: set noet sw=4 ts=4: diff --git a/external/poppler/ubsan.patch.0 b/external/poppler/ubsan.patch.0 index e0bf164ce7fc..f6e4667dc133 100644 --- a/external/poppler/ubsan.patch.0 +++ b/external/poppler/ubsan.patch.0 @@ -9,7 +9,7 @@ { doc = docA; xref = doc->getXRef(); - aobj->copy(&obj); + obj = aobj->copy(); - Dict* dict = obj.getDict(); ref.num = ref.gen = 0; type = ty; @@ -23,9 +23,9 @@ +void FormField::init(std::set<int> *usedParents) +{ + Dict* dict = obj.getDict(); - Object obj1; //childs - if (dict->lookup("Kids", &obj1)->isArray()) { + Object obj1 = dict->lookup("Kids"); + if (obj1.isArray()) { @@ -803,9 +806,15 @@ //------------------------------------------------------------------------ // FormFieldButton @@ -80,14 +80,16 @@ numChoices = 0; choices = NULL; editedChoice = NULL; -@@ -1379,9 +1400,15 @@ +@@ -1379,11 +1400,17 @@ //------------------------------------------------------------------------ // FormFieldSignature //------------------------------------------------------------------------ -FormFieldSignature::FormFieldSignature(PDFDoc *docA, Object *dict, const Ref& ref, FormField *parent, std::set<int> *usedParents) -- : FormField(docA, dict, ref, parent, usedParents, formSignature) +- : FormField(docA, dict, ref, parent, usedParents, formSignature), +FormFieldSignature::FormFieldSignature(PDFDoc *docA, Object *dict, const Ref& ref, FormField *parent) -+ : FormField(docA, dict, ref, parent, formSignature) ++ : FormField(docA, dict, ref, parent, formSignature), + signature_type(adbe_pkcs7_detached), + signature(nullptr), signature_info(nullptr) { +} + @@ -99,9 +101,9 @@ signature_info = new SignatureInfo(); @@ -1691,15 +1718,15 @@ - FormField *field; - if (Form::fieldLookup(obj->getDict (), "FT", &obj2)->isName("Btn")) { + Object obj2 = Form::fieldLookup(obj->getDict (), "FT"); + if (obj2.isName("Btn")) { - field = new FormFieldButton(docA, obj, pref, parent, usedParents); + field = FormFieldButton::create(docA, obj, pref, parent, usedParents); } else if (obj2.isName("Tx")) { @@ -117,8 +119,8 @@ - field = new FormField(docA, obj, pref, parent, usedParents); + field = FormField::create(docA, obj, pref, parent, usedParents); } - obj2.free(); + return field; --- poppler/Form.h +++ poppler/Form.h @@ -264,8 +264,16 @@ @@ -198,9 +200,9 @@ ~FormFieldChoice(); @@ -491,8 +523,16 @@ - //------------------------------------------------------------------------ class FormFieldSignature: public FormField { + friend class FormWidgetSignature; -public: - FormFieldSignature(PDFDoc *docA, Object *dict, const Ref& ref, FormField *parent, std::set<int> *usedParents); +private: @@ -214,8 +216,8 @@ + return f; + } - SignatureInfo *validateSignature(bool doVerifyCert, bool forceRevalidation); - + // Use -1 for now as validationTime + SignatureInfo *validateSignature(bool doVerifyCert, bool forceRevalidation, time_t validationTime); --- poppler/XRef.cc +++ poppler/XRef.cc @@ -293,6 +293,7 @@ |