Kaydet (Commit) 67e5355a authored tarafından Michael Stahl's avatar Michael Stahl

poppler: upgrade to release 0.66.0

Unfortunately the autotools build system was removed in 0.60.0, and the
CMake one is a bit overeager in linking against system libraries that
happen to be installed on the build machine, and we currently don't
require CMake anyway, so avoid the problems by using a gbuild makefile
and a patch to add the generated header files.

Remove all current patches:

poppler-notests.patch.1: obsolete (autotools build system)

poppler-mac-fake.patch.1: presumed obsolete

ubsan.patch.0: presumably fixed differently upstream in
https://cgit.freedesktop.org/poppler/poppler/commit/?id=f43cb73939f85952d83afc87a6dc638dc1ae311b

poppler-libjpeg.patch.1: obsolete (autotools build system; there appears
to be no way to do this with CMake?)

0001-Fix-building-with-old-clang.patch.1: merged upstream

Change-Id: I271c87ab3ec25cc9d1e8fafb04dae7c004acc350
Reviewed-on: https://gerrit.libreoffice.org/56166
Tested-by: Jenkins
Reviewed-by: 's avatarMichael Stahl <Michael.Stahl@cib.de>
üst 50c8eb70
......@@ -2830,11 +2830,7 @@ $(call gb_LinkTarget_set_include,$(1),\
$$(INCLUDE) \
)
$(call gb_LinkTarget_add_libs,$(1),\
$(call gb_UnpackedTarball_get_dir,poppler)/fofi/.libs/libfofi$(gb_StaticLibrary_PLAINEXT) \
$(call gb_UnpackedTarball_get_dir,poppler)/goo/.libs/libgoo$(gb_StaticLibrary_PLAINEXT) \
$(call gb_UnpackedTarball_get_dir,poppler)/poppler/.libs/libpoppler$(gb_StaticLibrary_PLAINEXT) \
)
$(call gb_LinkTarget_use_static_libraries,$(1),poppler)
$(call gb_LinkTarget_use_external,$(1),libjpeg)
......
......@@ -206,8 +206,8 @@ export PIXMAN_SHA256SUM := 21b6b249b51c6800dc9553b65106e1e37d0e25df942c90531d4c3
export PIXMAN_TARBALL := e80ebae4da01e77f68744319f01d52a3-pixman-0.34.0.tar.gz
export LIBPNG_SHA256SUM := 2f1e960d92ce3b3abd03d06dfec9637dfbd22febf107a536b44f7a47c60659f6
export LIBPNG_TARBALL := libpng-1.6.34.tar.xz
export POPPLER_SHA256SUM := a3d626b24cd14efa9864e12584b22c9c32f51c46417d7c10ca17651f297c9641
export POPPLER_TARBALL := poppler-0.59.0.tar.xz
export POPPLER_SHA256SUM := 2c096431adfb74bc2f53be466889b7646e1b599f28fa036094f3f7235cc9eae7
export POPPLER_TARBALL := poppler-0.66.0.tar.xz
export POSTGRESQL_SHA256SUM := db61d498105a7d5fe46185e67ac830c878cdd7dc1f82a87f06b842217924c461
export POSTGRESQL_TARBALL := c0b4799ea9850eae3ead14f0a60e9418-postgresql-9.2.1.tar.bz2
export PYTHON_SHA256SUM := 6ed87a8b6c758cc3299a8b433e8a9a9122054ad5bc8aad43299cff3a53d8ca44
......
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
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
#
# This file is part of the LibreOffice project.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
$(eval $(call gb_ExternalProject_ExternalProject,poppler))
$(eval $(call gb_ExternalProject_use_autoconf,poppler,build))
$(eval $(call gb_ExternalProject_use_externals,poppler,\
libjpeg \
))
$(eval $(call gb_ExternalProject_register_targets,poppler,\
build \
))
$(call gb_ExternalProject_get_state_target,poppler,build) :
$(call gb_ExternalProject_run,build,\
$(if $(filter TRUE,$(DISABLE_DYNLOADING)),CFLAGS="$(CFLAGS) $(gb_VISIBILITY_FLAGS) $(if $(ENABLE_OPTIMIZED),$(gb_COMPILEROPTFLAGS),$(gb_COMPILERNOOPTFLAGS))" CXXFLAGS="$(CXXFLAGS) $(gb_VISIBILITY_FLAGS) $(gb_VISIBILITY_FLAGS_CXX) $(if $(ENABLE_OPTIMIZED),$(gb_COMPILEROPTFLAGS),$(gb_COMPILERNOOPTFLAGS))") \
MAKE=$(MAKE) PKG_CONFIG="" ./configure \
--with-pic \
--enable-static \
--disable-shared \
--enable-xpdf-headers \
--disable-poppler-cpp \
--enable-libopenjpeg=none \
--disable-libtiff \
--enable-libjpeg \
--disable-libpng \
--disable-zlib \
--disable-libcurl \
--disable-splash-output \
--disable-cairo-output \
--disable-poppler-glib \
--disable-poppler-qt4 \
--disable-poppler-qt5 \
--disable-gtk-test \
--disable-utils \
--disable-cms \
$(if $(verbose),--disable-silent-rules,--enable-silent-rules) \
$(if $(filter WNT MACOSX,$(OS)),--with-font-configuration=win32,--with-font-configuration=fontconfig) \
$(if $(CROSS_COMPILING),--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)) \
&& $(MAKE) \
)
# vim: set noet sw=4 ts=4:
......@@ -10,7 +10,7 @@
$(eval $(call gb_Module_Module,poppler))
$(eval $(call gb_Module_add_targets,poppler,\
ExternalProject_poppler \
StaticLibrary_poppler \
UnpackedTarball_poppler \
))
......
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t; fill-column: 100 -*-
#
# This file is part of the LibreOffice project.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
$(eval $(call gb_StaticLibrary_StaticLibrary,poppler))
$(eval $(call gb_StaticLibrary_use_unpacked,poppler,poppler))
$(eval $(call gb_StaticLibrary_use_external,poppler,libjpeg))
$(eval $(call gb_StaticLibrary_set_warnings_not_errors,poppler))
$(eval $(call gb_StaticLibrary_set_include,poppler,\
-I$(WORKDIR)/UnpackedTarball/poppler \
-I$(WORKDIR)/UnpackedTarball/poppler/fofi \
-I$(WORKDIR)/UnpackedTarball/poppler/goo \
-I$(WORKDIR)/UnpackedTarball/poppler/poppler \
$$(INCLUDE) \
))
ifeq ($(OS),WNT)
$(eval $(call gb_StaticLibrary_add_defs,poppler,\
-DWIN32_LEAN_AND_MEAN \
-D_CRT_SECURE_NO_WARNINGS \
))
$(eval $(call gb_StaticLibrary_add_cxxflags,poppler,\
/Zc:wchar_t- \
))
endif
$(eval $(call gb_StaticLibrary_set_generated_cxx_suffix,poppler,cc))
$(eval $(call gb_StaticLibrary_add_generated_exception_objects,poppler,\
UnpackedTarball/poppler/goo/gfile \
UnpackedTarball/poppler/goo/gmempp \
UnpackedTarball/poppler/goo/GooList \
UnpackedTarball/poppler/goo/GooTimer \
UnpackedTarball/poppler/goo/GooString \
UnpackedTarball/poppler/goo/gmem \
UnpackedTarball/poppler/goo/FixedPoint \
UnpackedTarball/poppler/goo/NetPBMWriter \
UnpackedTarball/poppler/goo/PNGWriter \
UnpackedTarball/poppler/goo/TiffWriter \
UnpackedTarball/poppler/goo/JpegWriter \
UnpackedTarball/poppler/goo/ImgWriter \
UnpackedTarball/poppler/goo/gstrtod \
UnpackedTarball/poppler/goo/grandom \
UnpackedTarball/poppler/goo/glibc \
UnpackedTarball/poppler/goo/glibc_strtok_r \
UnpackedTarball/poppler/fofi/FoFiBase \
UnpackedTarball/poppler/fofi/FoFiEncodings \
UnpackedTarball/poppler/fofi/FoFiTrueType \
UnpackedTarball/poppler/fofi/FoFiType1 \
UnpackedTarball/poppler/fofi/FoFiType1C \
UnpackedTarball/poppler/fofi/FoFiIdentifier \
UnpackedTarball/poppler/poppler/Annot \
UnpackedTarball/poppler/poppler/Array \
UnpackedTarball/poppler/poppler/BuiltinFont \
UnpackedTarball/poppler/poppler/BuiltinFontTables \
UnpackedTarball/poppler/poppler/CachedFile \
UnpackedTarball/poppler/poppler/Catalog \
UnpackedTarball/poppler/poppler/CharCodeToUnicode \
UnpackedTarball/poppler/poppler/CMap \
UnpackedTarball/poppler/poppler/DateInfo \
UnpackedTarball/poppler/poppler/Decrypt \
UnpackedTarball/poppler/poppler/Dict \
UnpackedTarball/poppler/poppler/Error \
UnpackedTarball/poppler/poppler/FileSpec \
UnpackedTarball/poppler/poppler/FontEncodingTables \
UnpackedTarball/poppler/poppler/Form \
UnpackedTarball/poppler/poppler/FontInfo \
UnpackedTarball/poppler/poppler/Function \
UnpackedTarball/poppler/poppler/Gfx \
UnpackedTarball/poppler/poppler/GfxFont \
UnpackedTarball/poppler/poppler/GfxState \
UnpackedTarball/poppler/poppler/GlobalParams \
UnpackedTarball/poppler/poppler/Hints \
UnpackedTarball/poppler/poppler/JArithmeticDecoder \
UnpackedTarball/poppler/poppler/JBIG2Stream \
UnpackedTarball/poppler/poppler/Lexer \
UnpackedTarball/poppler/poppler/Link \
UnpackedTarball/poppler/poppler/Linearization \
UnpackedTarball/poppler/poppler/LocalPDFDocBuilder \
UnpackedTarball/poppler/poppler/MarkedContentOutputDev \
UnpackedTarball/poppler/poppler/NameToCharCode \
UnpackedTarball/poppler/poppler/Object \
UnpackedTarball/poppler/poppler/OptionalContent \
UnpackedTarball/poppler/poppler/Outline \
UnpackedTarball/poppler/poppler/OutputDev \
UnpackedTarball/poppler/poppler/Page \
UnpackedTarball/poppler/poppler/PageTransition \
UnpackedTarball/poppler/poppler/Parser \
UnpackedTarball/poppler/poppler/PDFDoc \
UnpackedTarball/poppler/poppler/PDFDocEncoding \
UnpackedTarball/poppler/poppler/PDFDocFactory \
UnpackedTarball/poppler/poppler/PopplerCache \
UnpackedTarball/poppler/poppler/ProfileData \
UnpackedTarball/poppler/poppler/PreScanOutputDev \
UnpackedTarball/poppler/poppler/PSTokenizer \
UnpackedTarball/poppler/poppler/SignatureInfo \
UnpackedTarball/poppler/poppler/Stream \
UnpackedTarball/poppler/poppler/StructTreeRoot \
UnpackedTarball/poppler/poppler/StructElement \
UnpackedTarball/poppler/poppler/UnicodeMap \
UnpackedTarball/poppler/poppler/UnicodeMapFuncs \
UnpackedTarball/poppler/poppler/UnicodeTypeTable \
UnpackedTarball/poppler/poppler/UTF \
UnpackedTarball/poppler/poppler/XRef \
UnpackedTarball/poppler/poppler/PSOutputDev \
UnpackedTarball/poppler/poppler/TextOutputDev \
UnpackedTarball/poppler/poppler/PageLabelInfo \
UnpackedTarball/poppler/poppler/SecurityHandler \
UnpackedTarball/poppler/poppler/StdinCachedFile \
UnpackedTarball/poppler/poppler/StdinPDFDocBuilder \
UnpackedTarball/poppler/poppler/Sound \
UnpackedTarball/poppler/poppler/ViewerPreferences \
UnpackedTarball/poppler/poppler/XpdfPluginAPI \
UnpackedTarball/poppler/poppler/Movie \
UnpackedTarball/poppler/poppler/Rendition \
UnpackedTarball/poppler/poppler/DCTStream \
))
# vim: set noet sw=4 ts=4:
......@@ -12,11 +12,7 @@ $(eval $(call gb_UnpackedTarball_UnpackedTarball,poppler))
$(eval $(call gb_UnpackedTarball_set_tarball,poppler,$(POPPLER_TARBALL),,poppler))
$(eval $(call gb_UnpackedTarball_add_patches,poppler,\
external/poppler/poppler-notests.patch.1 \
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 \
external/poppler/poppler-config.patch.1 \
))
# vim: set noet sw=4 ts=4:
This diff is collapsed.
do not override user supplied LIBJPEG_LIBS so we can use the one in WORKDIR
--- poppler/configure.orig 2016-11-02 13:58:32.530617038 +0100
+++ poppler/configure 2016-11-02 13:58:06.233617689 +0100
@@ -21377,8 +21377,9 @@
ac_save_USER_INCLUDES="$USER_INCLUDES"
ac_save_USER_LDFLAGS="$USER_LDFLAGS"
USER_INCLUDES="$USER_INCLUDES $LIBJPEG_CFLAGS"
- USER_LDFLAGS="$USER_LDFLAGS $LIBJPEG_CFLAGS"
+ USER_LDFLAGS="$USER_LDFLAGS $LIBJPEG_LIBS"
+if test -z "$LIBJPEG_LIBS"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libjpeg6b" >&5
$as_echo_n "checking for libjpeg6b... " >&6; }
@@ -21489,6 +21490,7 @@
fi
+fi
ac_save_CPPFLAGS="$CPPFLAGS"
diff -ur poppler.org/poppler/GlobalParams.cc poppler/poppler/GlobalParams.cc
--- poppler.org/poppler/GlobalParams.cc 2013-07-09 06:24:38.000000000 -0500
+++ poppler/poppler/GlobalParams.cc 2013-07-09 06:25:18.000000000 -0500
@@ -1327,7 +1327,7 @@
return path;
}
-#elif WITH_FONTCONFIGURATION_WIN32
+#elif WITH_FONTCONFIGURATION_WIN32 && defined(_WIN32)
#include "GlobalParamsWin.cc"
GooString *GlobalParams::findBase14FontFile(GooString *base14Name, GfxFont *font) {
--- a/Makefile.in
+++ b/Makefile.in
@@ -483,7 +483,7 @@
@BUILD_POPPLER_QT4_TRUE@qt4_pc_file = poppler-qt4.pc
@BUILD_POPPLER_CPP_TRUE@cpp_subdir = cpp
@BUILD_POPPLER_CPP_TRUE@cpp_pc_file = poppler-cpp.pc
-SUBDIRS = goo fofi $(splash_subdir) poppler utils $(glib_subdir) test $(qt4_subdir) $(qt5_subdir) $(cpp_subdir)
+SUBDIRS = goo fofi $(splash_subdir) poppler utils $(glib_subdir) $(qt4_subdir) $(qt5_subdir) $(cpp_subdir)
# Add CMake buildsystem files here so they get added on make dist
EXTRA_DIST = README-XPDF poppler.pc.in poppler-uninstalled.pc.in \
--- poppler/Form.cc
+++ poppler/Form.cc
@@ -463,12 +463,11 @@
// FormField
//========================================================================
-FormField::FormField(PDFDoc *docA, Object *aobj, const Ref& aref, FormField *parentA, std::set<int> *usedParents, FormFieldType ty)
+FormField::FormField(PDFDoc *docA, Object *aobj, const Ref& aref, FormField *parentA, FormFieldType ty)
{
doc = docA;
xref = doc->getXRef();
obj = aobj->copy();
- Dict* dict = obj.getDict();
ref.num = ref.gen = 0;
type = ty;
parent = parentA;
@@ -483,7 +482,11 @@
hasQuadding = gFalse;
ref = aref;
+}
+void FormField::init(std::set<int> *usedParents)
+{
+ Dict* dict = obj.getDict();
//childs
Object obj1 = dict->lookup("Kids");
if (obj1.isArray()) {
@@ -803,9 +806,15 @@
//------------------------------------------------------------------------
// FormFieldButton
//------------------------------------------------------------------------
-FormFieldButton::FormFieldButton(PDFDoc *docA, Object *aobj, const Ref& ref, FormField *parent, std::set<int> *usedParents)
- : FormField(docA, aobj, ref, parent, usedParents, formButton)
+FormFieldButton::FormFieldButton(PDFDoc *docA, Object *aobj, const Ref& ref, FormField *parent)
+ : FormField(docA, aobj, ref, parent, formButton)
{
+}
+
+void FormFieldButton::init(std::set<int> *usedParents)
+{
+ FormField::init(usedParents);
+
Dict* dict = obj.getDict();
active_child = -1;
noAllOff = false;
@@ -983,9 +992,15 @@
//------------------------------------------------------------------------
// FormFieldText
//------------------------------------------------------------------------
-FormFieldText::FormFieldText(PDFDoc *docA, Object *aobj, const Ref& ref, FormField *parent, std::set<int> *usedParents)
- : FormField(docA, aobj, ref, parent, usedParents, formText)
+FormFieldText::FormFieldText(PDFDoc *docA, Object *aobj, const Ref& ref, FormField *parent)
+ : FormField(docA, aobj, ref, parent, formText)
{
+}
+
+void FormFieldText::init(std::set<int> *usedParents)
+{
+ FormField::init(usedParents);
+
Dict* dict = obj.getDict();
Object obj1;
content = NULL;
@@ -1076,9 +1091,15 @@
//------------------------------------------------------------------------
// FormFieldChoice
//------------------------------------------------------------------------
-FormFieldChoice::FormFieldChoice(PDFDoc *docA, Object *aobj, const Ref& ref, FormField *parent, std::set<int> *usedParents)
- : FormField(docA, aobj, ref, parent, usedParents, formChoice)
+FormFieldChoice::FormFieldChoice(PDFDoc *docA, Object *aobj, const Ref& ref, FormField *parent)
+ : FormField(docA, aobj, ref, parent, formChoice)
{
+}
+
+void FormFieldChoice::init(std::set<int> *usedParents)
+{
+ FormField::init(usedParents);
+
numChoices = 0;
choices = NULL;
editedChoice = NULL;
@@ -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),
+FormFieldSignature::FormFieldSignature(PDFDoc *docA, Object *dict, const Ref& ref, FormField *parent)
+ : FormField(docA, dict, ref, parent, formSignature),
signature_type(adbe_pkcs7_detached),
signature(nullptr), signature_info(nullptr)
{
+}
+
+void FormFieldSignature::init(std::set<int> *usedParents)
+{
+ FormField::init(usedParents);
+
signature = NULL;
signature_info = new SignatureInfo();
@@ -1691,15 +1718,15 @@
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")) {
- field = new FormFieldText(docA, obj, pref, parent, usedParents);
+ field = FormFieldText::create(docA, obj, pref, parent, usedParents);
} else if (obj2.isName("Ch")) {
- field = new FormFieldChoice(docA, obj, pref, parent, usedParents);
+ field = FormFieldChoice::create(docA, obj, pref, parent, usedParents);
} else if (obj2.isName("Sig")) {
- field = new FormFieldSignature(docA, obj, pref, parent, usedParents);
+ field = FormFieldSignature::create(docA, obj, pref, parent, usedParents);
} else { //we don't have an FT entry => non-terminal field
- field = new FormField(docA, obj, pref, parent, usedParents);
+ field = FormField::create(docA, obj, pref, parent, usedParents);
}
return field;
--- poppler/Form.h
+++ poppler/Form.h
@@ -264,8 +264,16 @@
//------------------------------------------------------------------------
class FormField {
-public:
- FormField(PDFDoc *docA, Object *aobj, const Ref& aref, FormField *parent, std::set<int> *usedParents, FormFieldType t=formUndef);
+protected:
+ FormField(PDFDoc *docA, Object *aobj, const Ref& aref, FormField *parent, FormFieldType t);
+ void init(std::set<int> *usedParents);
+public:
+ static FormField *create(PDFDoc *docA, Object *aobj, const Ref& aref, FormField *parent, std::set<int> *usedParents, FormFieldType t=formUndef)
+ {
+ FormField *f = new FormField(docA, aobj, aref, parent, t);
+ f->init(usedParents);
+ return f;
+ }
virtual ~FormField();
@@ -338,8 +346,16 @@
//------------------------------------------------------------------------
class FormFieldButton: public FormField {
-public:
- FormFieldButton(PDFDoc *docA, Object *dict, const Ref& ref, FormField *parent, std::set<int> *usedParents);
+private:
+ FormFieldButton(PDFDoc *docA, Object *dict, const Ref& ref, FormField *parent);
+ void init(std::set<int> *usedParents);
+public:
+ static FormFieldButton *create(PDFDoc *docA, Object *dict, const Ref& ref, FormField *parent, std::set<int> *usedParents)
+ {
+ FormFieldButton *f = new FormFieldButton(docA, dict, ref, parent);
+ f->init(usedParents);
+ return f;
+ }
FormButtonType getButtonType () { return btype; }
@@ -384,8 +400,16 @@
//------------------------------------------------------------------------
class FormFieldText: public FormField {
-public:
- FormFieldText(PDFDoc *docA, Object *dict, const Ref& ref, FormField *parent, std::set<int> *usedParents);
+private:
+ FormFieldText(PDFDoc *docA, Object *dict, const Ref& ref, FormField *parent);
+ void init(std::set<int> *usedParents);
+public:
+ static FormFieldText *create(PDFDoc *docA, Object *dict, const Ref& ref, FormField *parent, std::set<int> *usedParents)
+ {
+ FormFieldText *f = new FormFieldText(docA, dict, ref, parent);
+ f->init(usedParents);
+ return f;
+ }
GooString* getContent () { return content; }
GooString* getContentCopy ();
@@ -422,8 +446,16 @@
//------------------------------------------------------------------------
class FormFieldChoice: public FormField {
-public:
- FormFieldChoice(PDFDoc *docA, Object *aobj, const Ref& ref, FormField *parent, std::set<int> *usedParents);
+private:
+ FormFieldChoice(PDFDoc *docA, Object *aobj, const Ref& ref, FormField *parent);
+ void init(std::set<int> *usedParents);
+public:
+ static FormFieldChoice *create(PDFDoc *docA, Object *aobj, const Ref& ref, FormField *parent, std::set<int> *usedParents)
+ {
+ FormFieldChoice *f = new FormFieldChoice(docA, aobj, ref, parent);
+ f->init(usedParents);
+ return f;
+ }
~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:
+ FormFieldSignature(PDFDoc *docA, Object *dict, const Ref& ref, FormField *parent);
+ void init(std::set<int> *usedParents);
+public:
+ static FormFieldSignature *create(PDFDoc *docA, Object *dict, const Ref& ref, FormField *parent, std::set<int> *usedParents)
+ {
+ FormFieldSignature *f = new FormFieldSignature(docA, dict, ref, parent);
+ f->init(usedParents);
+ return f;
+ }
// 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 @@
xRefStream = gFalse;
scannedSpecialFlags = gFalse;
encrypted = gFalse;
+ encAlgorithm = cryptRC4;
permFlags = defPermFlags;
ownerPasswordOk = gFalse;
rootNum = -1;
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment