From b21a87eebf8b72a70ec7788d883cd75e485a2eca Mon Sep 17 00:00:00 2001 From: David Tardon Date: Thu, 7 Sep 2017 15:50:09 +0200 Subject: upload poppler 0.59.0 Change-Id: I21dfa3aa04bd960cb2fb87a53213ae4bbd510a24 Reviewed-on: https://gerrit.libreoffice.org/42061 Tested-by: Jenkins Reviewed-by: David Tardon (cherry picked from commit 1c983335116a6f09cabf0b3eae7f51951111341e) Reviewed-on: https://gerrit.libreoffice.org/56256 Reviewed-by: Thorsten Behrens Tested-by: Thorsten Behrens --- download.lst | 4 ++-- .../0001-Fix-building-with-old-clang.patch.1 | 25 +++++++++++++++++++++ external/poppler/UnpackedTarball_poppler.mk | 1 + external/poppler/ubsan.patch.0 | 26 ++++++++++++---------- 4 files changed, 42 insertions(+), 14 deletions(-) create mode 100644 external/poppler/0001-Fix-building-with-old-clang.patch.1 diff --git a/download.lst b/download.lst index ccd5e8b3b1bd..5677ab58e433 100644 --- a/download.lst +++ b/download.lst @@ -129,8 +129,8 @@ export PAGEMAKER_TARBALL := libpagemaker-0.0.3.tar.bz2 export PIXMAN_TARBALL := c63f411b3ad147db2bcce1bf262a0e02-pixman-0.24.4.tar.bz2 export PNG_MD5SUM := 897ccec1ebfb0922e83c2bfaa1be8748 export PNG_TARBALL := libpng-1.6.28.tar.gz -export POPPLER_MD5SUM := f7a8230626b6d2061acfdc852930b7dd -export POPPLER_TARBALL := poppler-0.55.0.tar.xz +export POPPLER_MD5SUM := 6e44408a3b4f4a738f8a6770d0aea8a5 +export POPPLER_TARBALL := poppler-0.59.0.tar.xz export POSTGRESQL_TARBALL := c0b4799ea9850eae3ead14f0a60e9418-postgresql-9.2.1.tar.bz2 ifeq ($(PYTHON_VERSION_MINOR),3) 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 +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 f72c040c513b..94c8eb650dbc 100644 --- a/external/poppler/UnpackedTarball_poppler.mk +++ b/external/poppler/UnpackedTarball_poppler.mk @@ -17,6 +17,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 *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 *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 *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 @@ -- cgit v1.2.3