From 3a0c3a908d98fe451dd6bb8fcace1f9939ecd9df Mon Sep 17 00:00:00 2001 From: Akira Kakuto Date: Fri, 17 Jun 2016 23:37:11 +0000 Subject: poppler 0.45.0 git-svn-id: svn://tug.org/texlive/trunk@41475 c570f23f-e606-0410-a88d-b1316a301751 --- Build/source/libs/README | 2 +- Build/source/libs/poppler/ChangeLog | 5 + Build/source/libs/poppler/Makefile.am | 1 + Build/source/libs/poppler/Makefile.in | 5 + Build/source/libs/poppler/config.h.in | 3 + Build/source/libs/poppler/configure | 24 +- Build/source/libs/poppler/configure.ac | 2 +- .../source/libs/poppler/poppler-PATCHES/ChangeLog | 6 + .../source/libs/poppler/poppler-PATCHES/TL-Changes | 2 +- .../poppler/poppler-PATCHES/patch-02-LLONG_MAX | 6 +- .../poppler-PATCHES/patch-03-Object-functions | 6 +- .../source/libs/poppler/poppler-src/CMakeLists.txt | 5 +- Build/source/libs/poppler/poppler-src/ChangeLog | 285 +++++++++++++++++++++ .../libs/poppler/poppler-src/ConfigureChecks.cmake | 1 + Build/source/libs/poppler/poppler-src/NEWS | 19 ++ .../source/libs/poppler/poppler-src/config.h.cmake | 3 + Build/source/libs/poppler/poppler-src/config.h.in | 3 + Build/source/libs/poppler/poppler-src/configure.ac | 3 +- .../libs/poppler/poppler-src/goo/Makefile.am | 5 +- Build/source/libs/poppler/poppler-src/goo/glibc.cc | 58 +++++ Build/source/libs/poppler/poppler-src/goo/glibc.h | 37 +++ .../libs/poppler/poppler-src/poppler/Annot.cc | 5 +- .../libs/poppler/poppler-src/poppler/Annot.h | 12 +- .../libs/poppler/poppler-src/poppler/DateInfo.cc | 60 +++-- .../libs/poppler/poppler-src/poppler/DateInfo.h | 7 +- .../libs/poppler/poppler-src/poppler/Form.cc | 4 +- .../source/libs/poppler/poppler-src/poppler/Form.h | 6 +- .../poppler/poppler-src/poppler/JBIG2Stream.cc | 5 +- .../libs/poppler/poppler-src/poppler/Makefile.am | 2 +- .../libs/poppler/poppler-src/poppler/Page.cc | 4 +- .../poppler/poppler-src/poppler/SplashOutputDev.cc | 16 +- .../libs/poppler/poppler-src/poppler/Stream.cc | 6 +- .../source/libs/poppler/poppler-src/poppler/UTF.cc | 5 +- .../poppler-src/poppler/UnicodeTypeTable.cc | 21 +- .../libs/poppler/poppler-src/splash/Splash.cc | 5 +- Build/source/libs/poppler/version.ac | 2 +- 36 files changed, 550 insertions(+), 91 deletions(-) create mode 100644 Build/source/libs/poppler/poppler-src/goo/glibc.cc create mode 100644 Build/source/libs/poppler/poppler-src/goo/glibc.h (limited to 'Build/source/libs') diff --git a/Build/source/libs/README b/Build/source/libs/README index b8dd3633a8e..b955ebd5c0b 100644 --- a/Build/source/libs/README +++ b/Build/source/libs/README @@ -49,7 +49,7 @@ mpfr 3.1.4 - checked 07mar16 pixman 0.34.0 - checked 04feb16 http://cairographics.org/releases/ -poppler 0.44.0 - checked 07jun16 +poppler 0.45.0 - checked 18jun16 http://poppler.freedesktop.org/ - used by luatex and xetex potrace 1.13 - checked 28dec15 diff --git a/Build/source/libs/poppler/ChangeLog b/Build/source/libs/poppler/ChangeLog index f8d652f6a85..d3f0c477957 100644 --- a/Build/source/libs/poppler/ChangeLog +++ b/Build/source/libs/poppler/ChangeLog @@ -1,3 +1,8 @@ +2016-06-18 Akira Kakuto + + Import poppler-0.45.0. + * version.ac, configure.ac, config.h.in, Makefile.am: Adjust. + 2016-05-22 Akira Kakuto Import poppler-0.44.0. diff --git a/Build/source/libs/poppler/Makefile.am b/Build/source/libs/poppler/Makefile.am index 46037db59ed..6ba16de7175 100644 --- a/Build/source/libs/poppler/Makefile.am +++ b/Build/source/libs/poppler/Makefile.am @@ -42,6 +42,7 @@ nodist_libpoppler_a_SOURCES = \ goo_libGoo_a_sources = \ @POPPLER_TREE@/goo/gfile.cc \ @POPPLER_TREE@/goo/gmem.cc \ + @POPPLER_TREE@/goo/glibc.cc \ @POPPLER_TREE@/goo/gmempp.cc \ @POPPLER_TREE@/goo/grandom.cc \ @POPPLER_TREE@/goo/gstrtod.cc \ diff --git a/Build/source/libs/poppler/Makefile.in b/Build/source/libs/poppler/Makefile.in index 0c7928604cd..0311136b700 100644 --- a/Build/source/libs/poppler/Makefile.in +++ b/Build/source/libs/poppler/Makefile.in @@ -115,6 +115,7 @@ libpoppler_a_AR = $(AR) $(ARFLAGS) libpoppler_a_LIBADD = am__dirstamp = $(am__leading_dot)dirstamp am__objects_1 = @POPPLER_TREE@/goo/gfile.$(OBJEXT) \ + @POPPLER_TREE@/goo/glibc.$(OBJEXT) \ @POPPLER_TREE@/goo/gmem.$(OBJEXT) \ @POPPLER_TREE@/goo/gmempp.$(OBJEXT) \ @POPPLER_TREE@/goo/grandom.$(OBJEXT) \ @@ -451,6 +452,7 @@ nodist_libpoppler_a_SOURCES = \ goo_libGoo_a_sources = \ @POPPLER_TREE@/goo/gfile.cc \ + @POPPLER_TREE@/goo/glibc.cc \ @POPPLER_TREE@/goo/gmem.cc \ @POPPLER_TREE@/goo/gmempp.cc \ @POPPLER_TREE@/goo/grandom.cc \ @@ -617,6 +619,8 @@ clean-noinstLIBRARIES: @POPPLER_TREE@/goo/gfile.$(OBJEXT): \ @POPPLER_TREE@/goo/$(am__dirstamp) \ @POPPLER_TREE@/goo/$(DEPDIR)/$(am__dirstamp) +@POPPLER_TREE@/goo/glibc.$(OBJEXT): @POPPLER_TREE@/goo/$(am__dirstamp) \ + @POPPLER_TREE@/goo/$(DEPDIR)/$(am__dirstamp) @POPPLER_TREE@/goo/gmem.$(OBJEXT): @POPPLER_TREE@/goo/$(am__dirstamp) \ @POPPLER_TREE@/goo/$(DEPDIR)/$(am__dirstamp) @POPPLER_TREE@/goo/gmempp.$(OBJEXT): \ @@ -889,6 +893,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@@POPPLER_TREE@/goo/$(DEPDIR)/GooString.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@@POPPLER_TREE@/goo/$(DEPDIR)/GooTimer.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@@POPPLER_TREE@/goo/$(DEPDIR)/gfile.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@@POPPLER_TREE@/goo/$(DEPDIR)/glibc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@@POPPLER_TREE@/goo/$(DEPDIR)/gmem.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@@POPPLER_TREE@/goo/$(DEPDIR)/gmempp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@@POPPLER_TREE@/goo/$(DEPDIR)/grandom.Po@am__quote@ diff --git a/Build/source/libs/poppler/config.h.in b/Build/source/libs/poppler/config.h.in index 94f471a34b7..75f3ce3bc5b 100644 --- a/Build/source/libs/poppler/config.h.in +++ b/Build/source/libs/poppler/config.h.in @@ -37,6 +37,9 @@ /* Define to 1 if you have the `rand_r' function. */ #undef HAVE_RAND_R +/* Define to 1 if you have the `timegm' function. */ +#undef HAVE_TIMEGM + /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H diff --git a/Build/source/libs/poppler/configure b/Build/source/libs/poppler/configure index d1b7f438257..169a6ef6ab4 100755 --- a/Build/source/libs/poppler/configure +++ b/Build/source/libs/poppler/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for poppler (TeX Live) 0.44.0. +# Generated by GNU Autoconf 2.69 for poppler (TeX Live) 0.45.0. # # Report bugs to . # @@ -580,8 +580,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='poppler (TeX Live)' PACKAGE_TARNAME='poppler--tex-live-' -PACKAGE_VERSION='0.44.0' -PACKAGE_STRING='poppler (TeX Live) 0.44.0' +PACKAGE_VERSION='0.45.0' +PACKAGE_STRING='poppler (TeX Live) 0.45.0' PACKAGE_BUGREPORT='tex-k@tug.org' PACKAGE_URL='' @@ -1306,7 +1306,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures poppler (TeX Live) 0.44.0 to adapt to many kinds of systems. +\`configure' configures poppler (TeX Live) 0.45.0 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1373,7 +1373,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of poppler (TeX Live) 0.44.0:";; + short | recursive ) echo "Configuration of poppler (TeX Live) 0.45.0:";; esac cat <<\_ACEOF @@ -1486,7 +1486,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -poppler (TeX Live) configure 0.44.0 +poppler (TeX Live) configure 0.45.0 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2076,7 +2076,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by poppler (TeX Live) $as_me 0.44.0, which was +It was created by poppler (TeX Live) $as_me 0.45.0, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -3999,7 +3999,7 @@ fi # Define the identity of the package. PACKAGE='poppler--tex-live-' - VERSION='0.44.0' + VERSION='0.45.0' # Some tools Automake needs. @@ -6203,7 +6203,7 @@ fi -for ac_func in gettimeofday gmtime_r mkstemp popen rand_r +for ac_func in gettimeofday gmtime_r mkstemp popen rand_r timegm do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" @@ -6578,7 +6578,7 @@ ac_config_headers="$ac_config_headers poppler-config.h:poppler-src/poppler/poppl cat >>confdefs.h <<_ACEOF -#define POPPLER_VERSION "0.44.0" +#define POPPLER_VERSION "0.45.0" _ACEOF @@ -7272,7 +7272,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by poppler (TeX Live) $as_me 0.44.0, which was +This file was extended by poppler (TeX Live) $as_me 0.45.0, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -7338,7 +7338,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -poppler (TeX Live) config.status 0.44.0 +poppler (TeX Live) config.status 0.45.0 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/Build/source/libs/poppler/configure.ac b/Build/source/libs/poppler/configure.ac index eb9f94de1db..b776063c18b 100644 --- a/Build/source/libs/poppler/configure.ac +++ b/Build/source/libs/poppler/configure.ac @@ -70,7 +70,7 @@ AC_HEADER_DIRENT dnl **** Checks for library functions **** -AC_CHECK_FUNCS([gettimeofday gmtime_r mkstemp popen rand_r]) +AC_CHECK_FUNCS([gettimeofday gmtime_r mkstemp popen rand_r timegm]) AC_SYS_LARGEFILE AC_FUNC_FSEEKO AC_CHECK_FUNC([ftell64], [AC_CHECK_FUNCS([fseek64])]) diff --git a/Build/source/libs/poppler/poppler-PATCHES/ChangeLog b/Build/source/libs/poppler/poppler-PATCHES/ChangeLog index fc997a9565b..df5af13901f 100644 --- a/Build/source/libs/poppler/poppler-PATCHES/ChangeLog +++ b/Build/source/libs/poppler/poppler-PATCHES/ChangeLog @@ -1,3 +1,9 @@ +2016-06-18 Akira Kakuto + + Imported poppler-0.45.0 source tree from: + http://poppler.freedesktop.org/ + * patch-02-LLONG_MAX, patch-03-Object-functions: Adapted. + 2016-05-22 Akira Kakuto Imported poppler-0.44.0 source tree from: diff --git a/Build/source/libs/poppler/poppler-PATCHES/TL-Changes b/Build/source/libs/poppler/poppler-PATCHES/TL-Changes index d060f7dbf67..67ec763600c 100644 --- a/Build/source/libs/poppler/poppler-PATCHES/TL-Changes +++ b/Build/source/libs/poppler/poppler-PATCHES/TL-Changes @@ -1,4 +1,4 @@ -Changes applied to the poppler-0.44.0 tree as obtained from: +Changes applied to the poppler-0.45.0 tree as obtained from: http://poppler.freedesktop.org/ Removed: diff --git a/Build/source/libs/poppler/poppler-PATCHES/patch-02-LLONG_MAX b/Build/source/libs/poppler/poppler-PATCHES/patch-02-LLONG_MAX index 6431133c57b..565e0336f7c 100644 --- a/Build/source/libs/poppler/poppler-PATCHES/patch-02-LLONG_MAX +++ b/Build/source/libs/poppler/poppler-PATCHES/patch-02-LLONG_MAX @@ -1,6 +1,6 @@ -diff -ur poppler-0.44.0.orig/goo/GooString.h poppler-0.44.0/goo/GooString.h ---- poppler-0.44.0.orig/goo/GooString.h Wed May 11 07:47:44 2016 -+++ poppler-0.44.0/goo/GooString.h Sun May 22 07:38:25 2016 +diff -ur poppler-0.45.0.orig/goo/GooString.h poppler-0.45.0/goo/GooString.h +--- poppler-0.45.0.orig/goo/GooString.h Wed May 11 07:47:44 2016 ++++ poppler-0.45.0/goo/GooString.h Sat Jun 18 06:46:31 2016 @@ -36,6 +36,21 @@ #endif diff --git a/Build/source/libs/poppler/poppler-PATCHES/patch-03-Object-functions b/Build/source/libs/poppler/poppler-PATCHES/patch-03-Object-functions index df2d0032546..9d530d649ca 100644 --- a/Build/source/libs/poppler/poppler-PATCHES/patch-03-Object-functions +++ b/Build/source/libs/poppler/poppler-PATCHES/patch-03-Object-functions @@ -1,6 +1,6 @@ -diff -ur poppler-0.44.0.orig/poppler/Object.h poppler-0.44.0/poppler/Object.h ---- poppler-0.44.0.orig/poppler/Object.h Mon May 02 07:08:03 2016 -+++ poppler-0.44.0/poppler/Object.h Sun May 22 07:42:07 2016 +diff -ur poppler-0.45.0.orig/poppler/Object.h poppler-0.45.0/poppler/Object.h +--- poppler-0.45.0.orig/poppler/Object.h Wed Jun 01 01:40:39 2016 ++++ poppler-0.45.0/poppler/Object.h Sat Jun 18 06:49:28 2016 @@ -147,7 +147,7 @@ Object *initStream(Stream *streamA); Object *initRef(int numA, int genA) diff --git a/Build/source/libs/poppler/poppler-src/CMakeLists.txt b/Build/source/libs/poppler/poppler-src/CMakeLists.txt index dd81d27de5c..34a5bdbc5e0 100644 --- a/Build/source/libs/poppler/poppler-src/CMakeLists.txt +++ b/Build/source/libs/poppler/poppler-src/CMakeLists.txt @@ -22,7 +22,7 @@ if (ECM_FOUND) endif() set(POPPLER_MAJOR_VERSION "0") -set(POPPLER_MINOR_VERSION "44") +set(POPPLER_MINOR_VERSION "45") set(POPPLER_MICRO_VERSION "0") set(POPPLER_VERSION "${POPPLER_MAJOR_VERSION}.${POPPLER_MINOR_VERSION}.${POPPLER_MICRO_VERSION}") @@ -325,6 +325,7 @@ set(poppler_SRCS goo/ImgWriter.cc goo/gstrtod.cc goo/grandom.cc + goo/glibc.cc fofi/FoFiBase.cc fofi/FoFiEncodings.cc fofi/FoFiTrueType.cc @@ -501,7 +502,7 @@ add_library(poppler STATIC ${poppler_SRCS}) else(MSVC) add_library(poppler SHARED ${poppler_SRCS}) endif(MSVC) -set_target_properties(poppler PROPERTIES VERSION 61.0.0 SOVERSION 61) +set_target_properties(poppler PROPERTIES VERSION 62.0.0 SOVERSION 62) target_link_libraries(poppler LINK_PRIVATE ${poppler_LIBS}) install(TARGETS poppler RUNTIME DESTINATION bin LIBRARY DESTINATION lib${LIB_SUFFIX} ARCHIVE DESTINATION lib${LIB_SUFFIX}) diff --git a/Build/source/libs/poppler/poppler-src/ChangeLog b/Build/source/libs/poppler/poppler-src/ChangeLog index 8b64962a4f5..e87511f5223 100644 --- a/Build/source/libs/poppler/poppler-src/ChangeLog +++ b/Build/source/libs/poppler/poppler-src/ChangeLog @@ -1,3 +1,288 @@ +commit dfbb98327cbbc173a63f5db36b6606a93e5166aa +Author: Albert Astals Cid +Date: Fri Jun 17 00:04:25 2016 +0200 + + Poppler 0.45 + + CMakeLists.txt | 4 ++-- + NEWS | 19 +++++++++++++++++++ + configure.ac | 2 +- + cpp/Doxyfile | 2 +- + poppler/Makefile.am | 2 +- + qt4/src/Doxyfile | 2 +- + qt5/src/Doxyfile | 2 +- + 7 files changed, 26 insertions(+), 7 deletions(-) + +commit 3829958339b332d7ddf005d5ab98dd0ad3c8b3c6 +Author: Albert Astals Cid +Date: Thu Jun 16 23:58:07 2016 +0200 + + Add (C) + + poppler/DateInfo.cc | 1 + + poppler/DateInfo.h | 1 + + poppler/Form.cc | 2 +- + utils/pdfinfo.cc | 2 +- + 4 files changed, 4 insertions(+), 2 deletions(-) + +commit 4c7e057b0315ed37bd47e304ca191191244b2963 +Author: Albert Astals Cid +Date: Fri Jun 17 00:11:50 2016 +0200 + + dist glibc.h + + we don't install it, but we need it for building + + goo/Makefile.am | 2 ++ + 1 file changed, 2 insertions(+) + +commit 5ee67050c400daa7bc0b0a4f5dddf21be18be124 +Author: Adrian Johnson +Date: Tue Jun 14 07:32:35 2016 +0930 + + Fix windows compile + + utils/pdfinfo.cc | 1 + + 1 file changed, 1 insertion(+) + +commit df0779031d6ae0180024f92602bc2a680cf73dd5 +Author: Jakub Kucharski +Date: Thu May 19 16:11:04 2016 +0200 + + cpp: switched from detail::convert_date() to core's dateStringToTime() + + cpp/poppler-document.cpp | 4 +++- + cpp/poppler-embedded-file.cpp | 6 ++++-- + cpp/poppler-global.cpp | 6 +++++- + cpp/poppler-private.cpp | 25 +------------------------ + cpp/poppler-private.h | 3 +-- + 5 files changed, 14 insertions(+), 30 deletions(-) + +commit ff24d677c6078c3dfb54c35541369d908314bcdb +Author: Adrian Johnson +Date: Wed Feb 24 20:57:37 2016 +1030 + + pdfinfo: add -isodates for printing dates in ISO-8601 format + + utils/pdfinfo.1 | 3 +++ + utils/pdfinfo.cc | 36 +++++++++++++++++++++++++++++++++++- + 2 files changed, 38 insertions(+), 1 deletion(-) + +commit dd08f24f5e52c56546dfda70be483dc29e03c2e6 +Author: Adrian Johnson +Date: Wed Feb 24 21:10:08 2016 +1030 + + pdfinfo: convert dates to local time zone + + utils/pdfinfo.cc | 11 +++++++++-- + 1 file changed, 9 insertions(+), 2 deletions(-) + +commit e4690ee1be027dd7028e86ea6732a3f4f2680ef7 +Author: Adrian Johnson +Date: Tue Feb 23 21:01:49 2016 +1030 + + glib: return date in UTC instead of local time + + Bug 94173 + + ConfigureChecks.cmake | 1 + + config.h.cmake | 3 +++ + configure.ac | 1 + + glib/poppler-date.cc | 33 +++++++------------------------- + goo/glibc.cc | 24 ++++++++++++++++++++++++ + goo/glibc.h | 4 ++++ + poppler/DateInfo.cc | 52 + +++++++++++++++++++++++++++++---------------------- + poppler/DateInfo.h | 6 +++++- + poppler/Form.cc | 2 +- + 9 files changed, 76 insertions(+), 50 deletions(-) + +commit 7936af2eeb8f84993acabd1b306da50d49256b31 +Author: Adrian Johnson +Date: Tue Feb 23 20:52:30 2016 +1030 + + Emulate some non portable glibc functions when not available + + CMakeLists.txt | 1 + + cpp/tests/poppler-dump.cpp | 5 +---- + glib/demo/utils.c | 6 ------ + goo/Makefile.am | 3 ++- + goo/glibc.cc | 34 ++++++++++++++++++++++++++++++++++ + goo/glibc.h | 33 +++++++++++++++++++++++++++++++++ + poppler/DateInfo.cc | 7 ++----- + 7 files changed, 73 insertions(+), 16 deletions(-) + +commit 4d799cdf9b9039b003de7d3baf05d858bc507a5a +Author: Albert Astals Cid +Date: Thu Jun 2 00:22:05 2016 +0200 + + pdfinfo: Fix another leak + + Again not crucial in pdfinfo itself but nice to be clean so that if it + the leak check fails is because the core is doing something bad + + utils/JSInfo.cc | 13 ++++++++----- + utils/JSInfo.h | 3 ++- + 2 files changed, 10 insertions(+), 6 deletions(-) + +commit 4daee8a8ce40aeb658964a5902ae104549f7af75 +Author: Albert Astals Cid +Date: Wed Jun 1 18:37:57 2016 +0200 + + Fix memory leak when failing to parse thumbs or actions + + poppler/Page.cc | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit bc6eb28776feaa302ad93e315798cad02c1e2a54 +Author: Albert Astals Cid +Date: Wed Jun 1 18:36:17 2016 +0200 + + pdfinto: Fix memory leak + + It's not very critial that pdfinfo does not leak, but it's nice + to have no leaks so one can run ASAN over a file and see if something + is wrong or not + + utils/pdfinfo.cc | 1 + + 1 file changed, 1 insertion(+) + +commit 66617b256acfcd98f727bf11b7d7e92bcbd16de0 +Author: Albert Astals Cid +Date: Wed Jun 1 18:35:50 2016 +0200 + + Point ucs4 to null when len is 0 + + Makes it easier for the caller than can always just free the passed + pointer + + poppler/UTF.cc | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +commit 0d70a57c7ad8a53e2462560a47b6ea5eba73d6c5 +Author: Albert Astals Cid +Date: Wed Jun 1 18:34:32 2016 +0200 + + Add docu to the get*Action methods + + Since unfortunately their behaviour is different in what you have + to do with the pointer given + + poppler/Annot.h | 12 ++++++------ + poppler/Form.h | 6 +++--- + 2 files changed, 9 insertions(+), 9 deletions(-) + +commit 3db727f9546779a8896fc30a6669751d726ab86c +Author: Albert Astals Cid +Date: Wed Jun 1 18:32:45 2016 +0200 + + Fix memory leak in RichMedia parsing + + poppler/Annot.cc | 1 + + 1 file changed, 1 insertion(+) + +commit 8ace48fb07b81cab6ae68dc23d173e7441ad6d2e +Author: Albert Astals Cid +Date: Sun May 29 11:45:55 2016 +0200 + + SplashOutputDev: Fix iccTransform + splashModeXBGR8 + + poppler/SplashOutputDev.cc | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +commit 46039c2ef5b666d5ee85e7f6fc6a74a5a9e69526 +Author: Albert Astals Cid +Date: Fri May 27 11:06:01 2016 +0200 + + Add braces to make it more clear to which if the else applies + + poppler/UnicodeTypeTable.cc | 21 ++++++++++++--------- + 1 file changed, 12 insertions(+), 9 deletions(-) + +commit 2d72a8bfc87c9bdcea6b617ebd4b3a3684e174e8 +Author: Albert Astals Cid +Date: Thu May 26 17:59:21 2016 +0200 + + Initialize nConfigurations and nAssets + + poppler/Annot.cc | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit 4e49b3af7d6f731b9da20a9d6e5aa54578f08d3f +Author: Albert Astals Cid +Date: Thu May 26 17:34:56 2016 +0200 + + Fix memory leak on error on JBIG2Stream::readHalftoneRegionSeg + + poppler/JBIG2Stream.cc | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +commit 5f51939eea5b98dcef115d18baec3179701d0292 +Author: Albert Astals Cid +Date: Tue May 24 23:34:48 2016 +0200 + + Fix stack overflow + + Bug #96027 + + poppler/Stream.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit c820826377d79438ecaf90e9b2106a8451585add +Author: Albert Astals Cid +Date: Tue May 24 00:00:57 2016 +0200 + + Fix (C) year + + utils/HtmlOutputDev.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 9ce8dd7fbd132b5f423dc3bf10fa87b973390d0b +Author: Albert Astals Cid +Date: Mon May 23 23:59:40 2016 +0200 + + Fix stack overflow on broken file + + Bug #95567 + + poppler/Stream.cc | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 37fb37e368c659832fc1a1dfd499c42340b62f38 +Author: Vincent Le Garrec +Date: Mon May 23 23:18:40 2016 +0200 + + pdftohtml: Fix crash on broken file + + Bug #95563 + + utils/HtmlOutputDev.cc | 8 ++++++++ + 1 file changed, 8 insertions(+) + +commit 1d0251c8ab48e2e1a4873d84b4bc573b3ae2a98d +Author: Albert Astals Cid +Date: Sat May 21 20:02:26 2016 +0200 + + Fix memory leak in Splash::gouraudTriangleShadedFill + + splash/Splash.cc | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +commit eb20f8cc2c0dea281ae44336a8fac8cc86a99895 +Author: Albert Astals Cid +Date: Sat May 21 19:19:43 2016 +0200 + + 0.44 + + CMakeLists.txt | 4 ++-- + NEWS | 16 ++++++++++++++++ + configure.ac | 2 +- + cpp/Doxyfile | 2 +- + poppler/Makefile.am | 2 +- + qt4/src/Doxyfile | 2 +- + qt5/src/Doxyfile | 2 +- + 7 files changed, 23 insertions(+), 7 deletions(-) + commit 58f56a7af99b477f39e57aed74443b6851afe15f Author: Thomas Freitag Date: Sat May 21 18:25:22 2016 +0200 diff --git a/Build/source/libs/poppler/poppler-src/ConfigureChecks.cmake b/Build/source/libs/poppler/poppler-src/ConfigureChecks.cmake index d3f57325720..345f29c56fb 100644 --- a/Build/source/libs/poppler/poppler-src/ConfigureChecks.cmake +++ b/Build/source/libs/poppler/poppler-src/ConfigureChecks.cmake @@ -30,6 +30,7 @@ check_function_exists(ftell64 HAVE_FTELL64) check_function_exists(pread64 HAVE_PREAD64) check_function_exists(lseek64 HAVE_LSEEK64) check_function_exists(gmtime_r HAVE_GMTIME_R) +check_function_exists(timegm HAVE_TIMEGM) check_function_exists(gettimeofday HAVE_GETTIMEOFDAY) check_function_exists(localtime_r HAVE_LOCALTIME_R) check_function_exists(popen HAVE_POPEN) diff --git a/Build/source/libs/poppler/poppler-src/NEWS b/Build/source/libs/poppler/poppler-src/NEWS index 558efd8133e..d5762ab64e8 100644 --- a/Build/source/libs/poppler/poppler-src/NEWS +++ b/Build/source/libs/poppler/poppler-src/NEWS @@ -1,3 +1,22 @@ +Release 0.45.0 + core: + * SplashOutputDev: Fix iccTransform + splashModeXBGR8 + * Fix memory leaks + * Fix crash in broken files. Bug #95567. Bug #96027 + * Emulate some non portable glibc functions when not available + + utils: + * pdftohtml: Fix crash in broken files. Bug #95563 + * pdfinfo: convert dates to local time zone + * pdfinfo: add -isodates for printing dates in ISO-8601 format + * pdfinfo: Fix memory leaks + + glib: + * return date in UTC instead of local time. Bug #94173 + + cpp: + * switched from detail::convert_date() to core's dateStringToTime() + Release 0.44.0 core: * Fix Compile in 32bit linux. Bug #95492 diff --git a/Build/source/libs/poppler/poppler-src/config.h.cmake b/Build/source/libs/poppler/poppler-src/config.h.cmake index 85c6d3289ef..7988b74e31a 100644 --- a/Build/source/libs/poppler/poppler-src/config.h.cmake +++ b/Build/source/libs/poppler/poppler-src/config.h.cmake @@ -64,6 +64,9 @@ /* Defines if gmtime_r is available on your system */ #cmakedefine HAVE_GMTIME_R 1 +/* Defines if timegm is available on your system */ +#cmakedefine HAVE_TIMEGM 1 + /* Define if you have the iconv() function and it works. */ #cmakedefine HAVE_ICONV 1 diff --git a/Build/source/libs/poppler/poppler-src/config.h.in b/Build/source/libs/poppler/poppler-src/config.h.in index 1933cc8bcfc..302f7b9ccea 100644 --- a/Build/source/libs/poppler/poppler-src/config.h.in +++ b/Build/source/libs/poppler/poppler-src/config.h.in @@ -150,6 +150,9 @@ /* Define to 1 if you have the header file. */ #undef HAVE_TIFFIO_H +/* Defines if timegm is available on your system */ +#undef HAVE_TIMEGM + /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H diff --git a/Build/source/libs/poppler/poppler-src/configure.ac b/Build/source/libs/poppler/poppler-src/configure.ac index 8ff8ea50116..7a1455d261c 100644 --- a/Build/source/libs/poppler/poppler-src/configure.ac +++ b/Build/source/libs/poppler/poppler-src/configure.ac @@ -1,5 +1,5 @@ m4_define([poppler_version_major],[0]) -m4_define([poppler_version_minor],[44]) +m4_define([poppler_version_minor],[45]) m4_define([poppler_version_micro],[0]) m4_define([poppler_version],[poppler_version_major.poppler_version_minor.poppler_version_micro]) @@ -178,6 +178,7 @@ AC_LANG_CPLUSPLUS AC_CHECK_DECL(gettimeofday, [AC_CHECK_FUNC(gettimeofday, AC_DEFINE(HAVE_GETTIMEOFDAY, 1, [Defines if gettimeofday is available on your system]))],[],[#include ]) AC_CHECK_FUNC(localtime_r, AC_DEFINE(HAVE_LOCALTIME_R, 1, [Defines if localtime_r is available on your system])) AC_CHECK_FUNC(gmtime_r, AC_DEFINE(HAVE_GMTIME_R, 1, [Defines if gmtime_r is available on your system])) +AC_CHECK_FUNC(timegm, AC_DEFINE(HAVE_TIMEGM, 1, [Defines if timegm is available on your system])) AC_CHECK_FUNC(rand_r, AC_DEFINE(HAVE_RAND_R, 1, [Defines if rand_r is available on your system])) dnl ##### Check for extra libraries needed by X. (LynxOS needs this.) diff --git a/Build/source/libs/poppler/poppler-src/goo/Makefile.am b/Build/source/libs/poppler/poppler-src/goo/Makefile.am index 370e85021be..004775a487c 100644 --- a/Build/source/libs/poppler/poppler-src/goo/Makefile.am +++ b/Build/source/libs/poppler/poppler-src/goo/Makefile.am @@ -40,7 +40,8 @@ libgoo_la_SOURCES = \ ImgWriter.cc \ gtypes_p.h \ gstrtod.cc \ - grandom.cc + grandom.cc \ + glibc.cc if BUILD_LIBJPEG libjpeg_includes = $(LIBJPEG_CFLAGS) @@ -64,3 +65,5 @@ libgoo_la_CPPFLAGS = \ $(libtiff_includes) \ $(libjpeg2000_includes) \ $(libpng_includes) + +EXTRA_DIST = glibc.h \ No newline at end of file diff --git a/Build/source/libs/poppler/poppler-src/goo/glibc.cc b/Build/source/libs/poppler/poppler-src/goo/glibc.cc new file mode 100644 index 00000000000..4968047feea --- /dev/null +++ b/Build/source/libs/poppler/poppler-src/goo/glibc.cc @@ -0,0 +1,58 @@ +//======================================================================== +// +// glibc.h +// +// Emulate various non-portable glibc functions. +// +// This file is licensed under the GPLv2 or later +// +// Copyright (C) 2016 Adrian Johnson +// +//======================================================================== + +#include "glibc.h" + +#ifndef HAVE_GMTIME_R +struct tm *gmtime_r(const time_t *timep, struct tm *result) +{ + struct tm *gt; + gt = gmtime(timep); + if (gt) + *result = *gt; + return gt; +} +#endif + +#ifndef HAVE_LOCALTIME_R +struct tm *localtime_r(const time_t *timep, struct tm *result) +{ + struct tm *lt; + lt = localtime(timep); + *result = *lt; + return lt; +} +#endif + +#ifndef HAVE_TIMEGM +// Get offset of local time from UTC in seconds. DST is ignored. +static time_t getLocalTimeZoneOffset() +{ + time_t utc, local; + struct tm tm_utc; + time (&utc); + gmtime_r(&utc, &tm_utc); + local = mktime(&tm_utc); + return difftime(utc, local); +} + +time_t timegm(struct tm *tm) +{ + tm->tm_isdst = 0; + time_t t = mktime(tm); + if (t == -1) + return t; + + t += getLocalTimeZoneOffset(); + return t; +} +#endif diff --git a/Build/source/libs/poppler/poppler-src/goo/glibc.h b/Build/source/libs/poppler/poppler-src/goo/glibc.h new file mode 100644 index 00000000000..49479e9d2a6 --- /dev/null +++ b/Build/source/libs/poppler/poppler-src/goo/glibc.h @@ -0,0 +1,37 @@ +//======================================================================== +// +// glibc.h +// +// Emulate various non-portable glibc functions. +// +// This file is licensed under the GPLv2 or later +// +// Copyright (C) 2016 Adrian Johnson +// +//======================================================================== + +#ifndef GLIBC_H +#define GLIBC_H + +#include "config.h" + +#include + +extern "C" { + +#ifndef HAVE_GMTIME_R +struct tm *gmtime_r(const time_t *timep, struct tm *result); +#endif + +#ifndef HAVE_LOCALTIME_R +struct tm *localtime_r(const time_t *timep, struct tm *result); +#endif + +#ifndef HAVE_TIMEGM +time_t timegm(struct tm *tm); +#endif + +}; + +#endif // GLIBC_H + diff --git a/Build/source/libs/poppler/poppler-src/poppler/Annot.cc b/Build/source/libs/poppler/poppler-src/poppler/Annot.cc index c20398bd936..51a80e5d9c2 100644 --- a/Build/source/libs/poppler/poppler-src/poppler/Annot.cc +++ b/Build/source/libs/poppler/poppler-src/poppler/Annot.cc @@ -15,7 +15,7 @@ // // Copyright (C) 2006 Scott Turner // Copyright (C) 2007, 2008 Julien Rebetez -// Copyright (C) 2007-2013, 2015 Albert Astals Cid +// Copyright (C) 2007-2013, 2015, 2016 Albert Astals Cid // Copyright (C) 2007-2013 Carlos Garcia Campos // Copyright (C) 2007, 2008 Iñigo Martínez // Copyright (C) 2007 Jeff Muizelaar @@ -6849,6 +6849,7 @@ AnnotRichMedia::Content::Content(Dict *dict) { obj2.free(); } } else { + nConfigurations = 0; configurations = NULL; } obj1.free(); @@ -6879,6 +6880,7 @@ AnnotRichMedia::Content::Content(Dict *dict) { obj2.free(); } else { + nAssets = 0; assets = NULL; } obj1.free(); @@ -7064,6 +7066,7 @@ AnnotRichMedia::Instance::Instance(Dict *dict) } else { params = NULL; } + obj1.free(); } AnnotRichMedia::Instance::~Instance() diff --git a/Build/source/libs/poppler/poppler-src/poppler/Annot.h b/Build/source/libs/poppler/poppler-src/poppler/Annot.h index d90c8080ffe..dfafe4f90c8 100644 --- a/Build/source/libs/poppler/poppler-src/poppler/Annot.h +++ b/Build/source/libs/poppler/poppler-src/poppler/Annot.h @@ -21,7 +21,7 @@ // Copyright (C) 2008 Hugo Mercier // Copyright (C) 2008 Pino Toscano // Copyright (C) 2008 Tomas Are Haavet -// Copyright (C) 2009-2011, 2013 Albert Astals Cid +// Copyright (C) 2009-2011, 2013, 2016 Albert Astals Cid // Copyright (C) 2012, 2013 Fabio D'Urso // Copyright (C) 2012, 2015 Tobias Koenig // Copyright (C) 2013 Thomas Freitag @@ -847,8 +847,8 @@ class AnnotScreen: public Annot { GooString* getTitle() { return title; } AnnotAppearanceCharacs *getAppearCharacs() { return appearCharacs; } - LinkAction* getAction() { return action; } - LinkAction *getAdditionalAction(AdditionalActionsType type); + LinkAction* getAction() { return action; } // The caller should now delete the result + LinkAction *getAdditionalAction(AdditionalActionsType type); // The caller should delete the result private: void initialize(PDFDoc *docA, Dict *dict); @@ -1322,9 +1322,9 @@ public: AnnotWidgetHighlightMode getMode() { return mode; } AnnotAppearanceCharacs *getAppearCharacs() { return appearCharacs; } - LinkAction *getAction() { return action; } - LinkAction *getAdditionalAction(AdditionalActionsType type); - LinkAction *getFormAdditionalAction(FormAdditionalActionsType type); + LinkAction *getAction() { return action; } // The caller should not delete the result + LinkAction *getAdditionalAction(AdditionalActionsType type); // The caller should delete the result + LinkAction *getFormAdditionalAction(FormAdditionalActionsType type); // The caller should delete the result Dict *getParent() { return parent; } private: diff --git a/Build/source/libs/poppler/poppler-src/poppler/DateInfo.cc b/Build/source/libs/poppler/poppler-src/poppler/DateInfo.cc index 8cd4883d304..fef3f00a658 100644 --- a/Build/source/libs/poppler/poppler-src/poppler/DateInfo.cc +++ b/Build/source/libs/poppler/poppler-src/poppler/DateInfo.cc @@ -6,6 +6,7 @@ // Copyright (C) 2009 Carlos Garcia Campos // Copyright (C) 2015 André Guerreiro // Copyright (C) 2015 André Esser +// Copyright (C) 2016 Adrian Johnson // // To see a description of the changes please see the Changelog file that // came with your tarball or type make ChangeLog if you are building from git @@ -22,6 +23,7 @@ #include +#include "glibc.h" #include "DateInfo.h" #include @@ -74,20 +76,16 @@ GBool parseDateString(const char *dateString, int *year, int *month, int *day, i return gFalse; } - +// Convert time to PDF date string GooString *timeToDateString(time_t *timet) { GooString *dateString; char s[5]; struct tm *gt; size_t len; time_t timep = timet ? *timet : time(NULL); - -#ifdef HAVE_GMTIME_R struct tm t; + gt = gmtime_r (&timep, &t); -#else - gt = gmtime (&timep); -#endif dateString = new GooString ("D:"); @@ -118,27 +116,35 @@ GooString *timeToDateString(time_t *timet) { return dateString; } -time_t pdfTimeToInteger(GooString *time_str) -{ +// Convert PDF date string to time. Returns -1 if conversion fails. +time_t dateStringToTime(GooString *dateString) { int year, mon, day, hour, min, sec, tz_hour, tz_minute; char tz; - struct tm time_struct; - - if (!parseDateString (time_str->getCString(), &year, - &mon, &day, &hour, &min, &sec, &tz, &tz_hour, &tz_minute)) - return 0; - - time_struct.tm_year = year - 1900; - time_struct.tm_mon = mon - 1; - time_struct.tm_mday = day; - time_struct.tm_hour = hour; - time_struct.tm_min = min; - time_struct.tm_sec = sec; - time_struct.tm_wday = -1; - time_struct.tm_yday = -1; - time_struct.tm_isdst = -1; - - time_t unix_time = mktime(&time_struct); - - return unix_time; + struct tm tm; + time_t time; + + if (!parseDateString (dateString->getCString(), &year, &mon, &day, &hour, &min, &sec, &tz, &tz_hour, &tz_minute)) + return -1; + + tm.tm_year = year - 1900; + tm.tm_mon = mon - 1; + tm.tm_mday = day; + tm.tm_hour = hour; + tm.tm_min = min; + tm.tm_sec = sec; + tm.tm_wday = -1; + tm.tm_yday = -1; + tm.tm_isdst = -1; /* 0 = DST off, 1 = DST on, -1 = don't know */ + + /* compute tm_wday and tm_yday and check date */ + time = timegm (&tm); + if (time == (time_t)-1) + return time; + + time_t offset = (tz_hour*60 + tz_minute)*60; + if (tz == '-') + offset *= -1; + time -= offset; + + return time; } diff --git a/Build/source/libs/poppler/poppler-src/poppler/DateInfo.h b/Build/source/libs/poppler/poppler-src/poppler/DateInfo.h index 840ee5ac17f..468dd93bae6 100644 --- a/Build/source/libs/poppler/poppler-src/poppler/DateInfo.h +++ b/Build/source/libs/poppler/poppler-src/poppler/DateInfo.h @@ -6,6 +6,7 @@ // Copyright (C) 2009 Carlos Garcia Campos // Copyright (C) 2015 André Guerreiro // Copyright (C) 2015 André Esser +// Copyright (C) 2016 Adrian Johnson // // To see a description of the changes please see the Changelog file that // came with your tarball or type make ChangeLog if you are building from git @@ -33,6 +34,10 @@ GBool parseDateString(const char *string, int *year, int *month, int *day, int * * If timet is NULL, current time is used. */ GooString *timeToDateString(time_t *timet); -time_t pdfTimeToInteger(GooString *time_str); + +/* Convert PDF date string to time. + * Returns -1 if conversion fails. + */ +time_t dateStringToTime(GooString *dateString); #endif diff --git a/Build/source/libs/poppler/poppler-src/poppler/Form.cc b/Build/source/libs/poppler/poppler-src/poppler/Form.cc index 4dd56b7800d..d5f4dd11d51 100644 --- a/Build/source/libs/poppler/poppler-src/poppler/Form.cc +++ b/Build/source/libs/poppler/poppler-src/poppler/Form.cc @@ -7,7 +7,7 @@ // Copyright 2006-2008 Julien Rebetez // Copyright 2007-2012, 2015, 2016 Albert Astals Cid // Copyright 2007-2008, 2011 Carlos Garcia Campos -// Copyright 2007, 2013 Adrian Johnson +// Copyright 2007, 2013, 2016 Adrian Johnson // Copyright 2007 Iñigo Martínez // Copyright 2008, 2011 Pino Toscano // Copyright 2008 Michael Vrable @@ -1421,7 +1421,7 @@ void FormFieldSignature::parseInfo() sig_dict.dictLookup("M", &time_of_signing); if (time_of_signing.isString()) { GooString *time_str = time_of_signing.getString(); - signature_info->setSigningTime(pdfTimeToInteger(time_str)); // Put this information directly in SignatureInfo object + signature_info->setSigningTime(dateStringToTime(time_str)); // Put this information directly in SignatureInfo object time_of_signing.free(); } diff --git a/Build/source/libs/poppler/poppler-src/poppler/Form.h b/Build/source/libs/poppler/poppler-src/poppler/Form.h index b566fe03854..d467b473bcd 100644 --- a/Build/source/libs/poppler/poppler-src/poppler/Form.h +++ b/Build/source/libs/poppler/poppler-src/poppler/Form.h @@ -6,7 +6,7 @@ // // Copyright 2006 Julien Rebetez // Copyright 2007, 2008, 2011 Carlos Garcia Campos -// Copyright 2007-2010, 2012, 2015 Albert Astals Cid +// Copyright 2007-2010, 2012, 2015, 2016 Albert Astals Cid // Copyright 2010 Mark Riedesel // Copyright 2011 Pino Toscano // Copyright 2012 Fabio D'Urso @@ -106,8 +106,8 @@ public: bool isReadOnly() const; - LinkAction *getActivationAction(); - LinkAction *getAdditionalAction(Annot::FormAdditionalActionsType type); + LinkAction *getActivationAction(); // The caller should not delete the result + LinkAction *getAdditionalAction(Annot::FormAdditionalActionsType type); // The caller should delete the result // return the unique ID corresponding to pageNum/fieldNum static int encodeID (unsigned pageNum, unsigned fieldNum); diff --git a/Build/source/libs/poppler/poppler-src/poppler/JBIG2Stream.cc b/Build/source/libs/poppler/poppler-src/poppler/JBIG2Stream.cc index a20c2208115..9f12d5dad2f 100644 --- a/Build/source/libs/poppler/poppler-src/poppler/JBIG2Stream.cc +++ b/Build/source/libs/poppler/poppler-src/poppler/JBIG2Stream.cc @@ -15,7 +15,7 @@ // // Copyright (C) 2006 Raj Kumar // Copyright (C) 2006 Paul Walmsley -// Copyright (C) 2006-2010, 2012, 2014, 2015 Albert Astals Cid +// Copyright (C) 2006-2010, 2012, 2014-2016 Albert Astals Cid // Copyright (C) 2009 David Benjamin // Copyright (C) 2011 Edward Jiang // Copyright (C) 2012 William Bader @@ -2770,6 +2770,9 @@ void JBIG2Stream::readHalftoneRegionSeg(Guint segNum, GBool imm, if (!(enableSkip && skipBitmap->getPixel(n, m))) { patternBitmap = patternDict->getBitmap(grayImg[i]); if (unlikely(patternBitmap == NULL)) { + delete skipBitmap; + delete bitmap; + gfree(grayImg); error(errSyntaxError, curStr->getPos(), "Bad pattern bitmap"); return; } diff --git a/Build/source/libs/poppler/poppler-src/poppler/Makefile.am b/Build/source/libs/poppler/poppler-src/poppler/Makefile.am index 3eef543a356..3d32e792f94 100644 --- a/Build/source/libs/poppler/poppler-src/poppler/Makefile.am +++ b/Build/source/libs/poppler/poppler-src/poppler/Makefile.am @@ -327,7 +327,7 @@ libpoppler_la_LIBADD = \ $(win32_libs) libpoppler_la_LDFLAGS = \ - -version-info 61:0:0 \ + -version-info 62:0:0 \ @create_shared_lib@ \ @auto_import_flags@ diff --git a/Build/source/libs/poppler/poppler-src/poppler/Page.cc b/Build/source/libs/poppler/poppler-src/poppler/Page.cc index a4af3405b92..dca52e4faae 100644 --- a/Build/source/libs/poppler/poppler-src/poppler/Page.cc +++ b/Build/source/libs/poppler/poppler-src/poppler/Page.cc @@ -15,7 +15,7 @@ // // Copyright (C) 2005 Kristian Høgsberg // Copyright (C) 2005 Jeff Muizelaar -// Copyright (C) 2005-2013 Albert Astals Cid +// Copyright (C) 2005-2013, 2016 Albert Astals Cid // Copyright (C) 2006-2008 Pino Toscano // Copyright (C) 2006 Nickolay V. Shmyrev // Copyright (C) 2006 Scott Turner @@ -325,6 +325,7 @@ Page::Page(PDFDoc *docA, int numA, Dict *pageDict, Ref pageRefA, PageAttrs *attr if (!(thumb.isStream() || thumb.isNull() || thumb.isRef())) { error(errSyntaxError, -1, "Page thumb object (page {0:d}) is wrong type ({1:s})", num, thumb.getTypeName()); + thumb.free(); thumb.initNull(); } @@ -333,6 +334,7 @@ Page::Page(PDFDoc *docA, int numA, Dict *pageDict, Ref pageRefA, PageAttrs *attr if (!(actions.isDict() || actions.isNull())) { error(errSyntaxError, -1, "Page additional action object (page {0:d}) is wrong type ({1:s})", num, actions.getTypeName()); + actions.free(); actions.initNull(); } diff --git a/Build/source/libs/poppler/poppler-src/poppler/SplashOutputDev.cc b/Build/source/libs/poppler/poppler-src/poppler/SplashOutputDev.cc index eeb6cc38b0e..688540beaf0 100644 --- a/Build/source/libs/poppler/poppler-src/poppler/SplashOutputDev.cc +++ b/Build/source/libs/poppler/poppler-src/poppler/SplashOutputDev.cc @@ -3278,17 +3278,17 @@ void SplashOutputDev::iccTransform(void *data, SplashBitmap *bitmap) { Guchar *q; Guchar *b = p; int x; - for (x = 0, q = rgbxLine; x < bitmap->getWidth(); ++x, ++b) { - *q++ = *b++; - *q++ = *b++; - *q++ = *b++; + for (x = 0, q = rgbxLine; x < bitmap->getWidth(); ++x, b+=4) { + *q++ = b[2]; + *q++ = b[1]; + *q++ = b[0]; } imgData->colorMap->getRGBLine(rgbxLine, colorLine, bitmap->getWidth()); b = p; - for (x = 0, q = colorLine; x < bitmap->getWidth(); ++x, ++b) { - *b++ = *q++; - *b++ = *q++; - *b++ = *q++; + for (x = 0, q = colorLine; x < bitmap->getWidth(); ++x, b+=4) { + b[2] = *q++; + b[1] = *q++; + b[0] = *q++; } break; } diff --git a/Build/source/libs/poppler/poppler-src/poppler/Stream.cc b/Build/source/libs/poppler/poppler-src/poppler/Stream.cc index 1e6318e74fe..4a9babe4662 100644 --- a/Build/source/libs/poppler/poppler-src/poppler/Stream.cc +++ b/Build/source/libs/poppler/poppler-src/poppler/Stream.cc @@ -14,7 +14,7 @@ // under GPL version 2 or later // // Copyright (C) 2005 Jeff Muizelaar -// Copyright (C) 2006-2010, 2012-2014 Albert Astals Cid +// Copyright (C) 2006-2010, 2012-2014, 2016 Albert Astals Cid // Copyright (C) 2007 Krzysztof Kowalczyk // Copyright (C) 2008 Julien Rebetez // Copyright (C) 2009 Carlos Garcia Campos @@ -178,12 +178,12 @@ Stream *Stream::addFilters(Object *dict, int recursion) { dict->dictLookup("Filter", &obj, recursion); if (obj.isNull()) { obj.free(); - dict->dictLookup("F", &obj); + dict->dictLookup("F", &obj, recursion); } dict->dictLookup("DecodeParms", ¶ms, recursion); if (params.isNull()) { params.free(); - dict->dictLookup("DP", ¶ms); + dict->dictLookup("DP", ¶ms, recursion); } if (obj.isName()) { str = makeFilter(obj.getName(), str, ¶ms, recursion, dict); diff --git a/Build/source/libs/poppler/poppler-src/poppler/UTF.cc b/Build/source/libs/poppler/poppler-src/poppler/UTF.cc index 46007b73006..3b3ae35c39f 100644 --- a/Build/source/libs/poppler/poppler-src/poppler/UTF.cc +++ b/Build/source/libs/poppler/poppler-src/poppler/UTF.cc @@ -16,6 +16,7 @@ // Copyright (C) 2008 Koji Otani // Copyright (C) 2012 Adrian Johnson // Copyright (C) 2012 Hib Eris +// Copyright (C) 2016 Albert Astals Cid // // To see a description of the changes please see the Changelog file that // came with your tarball or type make ChangeLog if you are building from git @@ -89,8 +90,10 @@ int TextStringToUCS4(GooString *textStr, Unicode **ucs4) len = textStr->getLength(); s = textStr->getCString(); - if (len == 0) + if (len == 0) { + *ucs4 = 0; return 0; + } if (textStr->hasUnicodeMarker()) { Unicode *utf16; diff --git a/Build/source/libs/poppler/poppler-src/poppler/UnicodeTypeTable.cc b/Build/source/libs/poppler/poppler-src/poppler/UnicodeTypeTable.cc index c9f8e2a3b79..cd423c9f585 100644 --- a/Build/source/libs/poppler/poppler-src/poppler/UnicodeTypeTable.cc +++ b/Build/source/libs/poppler/poppler-src/poppler/UnicodeTypeTable.cc @@ -15,7 +15,7 @@ // // Copyright (C) 2006, 2007 Ed Catmur // Copyright (C) 2007 Jeff Muizelaar -// Copyright (C) 2008 Albert Astals Cid +// Copyright (C) 2008, 2016 Albert Astals Cid // Copyright (C) 2012 Adrian Johnson // Copyright (C) 2016 Khaled Hosny // @@ -1028,16 +1028,19 @@ static int decomp_compat(Unicode u, Unicode *buf, GBool reverseRTL = false) { int midpoint = (start + end) / 2; if (u == decomp_table[midpoint].character) { int offset = decomp_table[midpoint].offset; - if (offset == -1) + if (offset == -1) { break; - else { + } else { int length = decomp_table[midpoint].length, i; - if (buf) - for (i = 0; i < length; ++i) - if (unicodeTypeR(u) && reverseRTL) - buf[i] = decomp_expansion[offset + length - i - 1]; - else - buf[i] = decomp_expansion[offset + i]; + if (buf) { + for (i = 0; i < length; ++i) { + if (unicodeTypeR(u) && reverseRTL) { + buf[i] = decomp_expansion[offset + length - i - 1]; + } else { + buf[i] = decomp_expansion[offset + i]; + } + } + } return length; } } else if (midpoint == start) diff --git a/Build/source/libs/poppler/poppler-src/splash/Splash.cc b/Build/source/libs/poppler/poppler-src/splash/Splash.cc index 5acbe8eff9d..4d33cf781b9 100644 --- a/Build/source/libs/poppler/poppler-src/splash/Splash.cc +++ b/Build/source/libs/poppler/poppler-src/splash/Splash.cc @@ -11,7 +11,7 @@ // All changes made under the Poppler project to this file are licensed // under GPL version 2 or later // -// Copyright (C) 2005-2015 Albert Astals Cid +// Copyright (C) 2005-2016 Albert Astals Cid // Copyright (C) 2005 Marco Pesenti Gritti // Copyright (C) 2010-2016 Thomas Freitag // Copyright (C) 2010 Christian Feuersänger @@ -5768,6 +5768,9 @@ GBool Splash::gouraudTriangleShadedFill(SplashGouraudColor *shading) } } } else { + if (!bDirectBlit) { + delete blitTarget; + } return gFalse; } diff --git a/Build/source/libs/poppler/version.ac b/Build/source/libs/poppler/version.ac index 9ad21ab1cad..a373074d143 100644 --- a/Build/source/libs/poppler/version.ac +++ b/Build/source/libs/poppler/version.ac @@ -8,4 +8,4 @@ dnl dnl -------------------------------------------------------- dnl dnl m4-include this file to define the current poppler version -m4_define([poppler_version], [0.44.0]) +m4_define([poppler_version], [0.45.0]) -- cgit v1.2.3