summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAkira Kakuto <kakuto@fuk.kindai.ac.jp>2016-06-07 13:11:30 +0000
committerAkira Kakuto <kakuto@fuk.kindai.ac.jp>2016-06-07 13:11:30 +0000
commit7d3c811ea238e02d3d930ad7cf5e0329302caf65 (patch)
tree350fce43ff31735e177843215e00afed6de6a84f
parent4859eef09993c3228d2dce3482106067dad0ced4 (diff)
poppler 0.44.0
git-svn-id: svn://tug.org/texlive/trunk@41312 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Build/source/libs/README2
-rw-r--r--Build/source/libs/poppler/ChangeLog12
-rwxr-xr-xBuild/source/libs/poppler/configure22
-rw-r--r--Build/source/libs/poppler/poppler-PATCHES/ChangeLog14
-rw-r--r--Build/source/libs/poppler/poppler-PATCHES/TL-Changes2
-rw-r--r--Build/source/libs/poppler/poppler-PATCHES/patch-02-LLONG_MAX8
-rw-r--r--Build/source/libs/poppler/poppler-PATCHES/patch-03-Object-functions6
-rw-r--r--Build/source/libs/poppler/poppler-src/CMakeLists.txt4
-rw-r--r--Build/source/libs/poppler/poppler-src/ChangeLog368
-rw-r--r--Build/source/libs/poppler/poppler-src/NEWS38
-rw-r--r--Build/source/libs/poppler/poppler-src/configure.ac7
-rw-r--r--Build/source/libs/poppler/poppler-src/goo/GooString.cc40
-rw-r--r--Build/source/libs/poppler/poppler-src/goo/GooString.h10
-rw-r--r--Build/source/libs/poppler/poppler-src/gtk-doc.make2
-rw-r--r--Build/source/libs/poppler/poppler-src/poppler/CairoFontEngine.cc7
-rw-r--r--Build/source/libs/poppler/poppler-src/poppler/CairoOutputDev.cc69
-rw-r--r--Build/source/libs/poppler/poppler-src/poppler/CairoOutputDev.h6
-rw-r--r--Build/source/libs/poppler/poppler-src/poppler/Decrypt.cc65
-rw-r--r--Build/source/libs/poppler/poppler-src/poppler/Gfx.cc1
-rw-r--r--Build/source/libs/poppler/poppler-src/poppler/GfxFont.cc6
-rw-r--r--Build/source/libs/poppler/poppler-src/poppler/GfxState.cc5
-rw-r--r--Build/source/libs/poppler/poppler-src/poppler/Makefile.am2
-rw-r--r--Build/source/libs/poppler/poppler-src/poppler/PDFDoc.cc42
-rw-r--r--Build/source/libs/poppler/poppler-src/poppler/PDFDoc.h7
-rw-r--r--Build/source/libs/poppler/poppler-src/poppler/PSOutputDev.cc6
-rw-r--r--Build/source/libs/poppler/poppler-src/poppler/PageLabelInfo_p.h2
-rw-r--r--Build/source/libs/poppler/poppler-src/poppler/SignatureHandler.cc3
-rw-r--r--Build/source/libs/poppler/poppler-src/poppler/SplashOutputDev.cc11
-rw-r--r--Build/source/libs/poppler/poppler-src/poppler/TextOutputDev.cc4
-rw-r--r--Build/source/libs/poppler/poppler-src/poppler/XRef.cc15
-rw-r--r--Build/source/libs/poppler/poppler-src/splash/Splash.cc9
-rw-r--r--Build/source/libs/poppler/version.ac2
32 files changed, 667 insertions, 130 deletions
diff --git a/Build/source/libs/README b/Build/source/libs/README
index 36c60fc7904..dbd307a4464 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.42.0 - checked 18mar16
+poppler 0.44.0 - checked 07jun16
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 332fcdbb43d..f8d652f6a85 100644
--- a/Build/source/libs/poppler/ChangeLog
+++ b/Build/source/libs/poppler/ChangeLog
@@ -1,15 +1,23 @@
+2016-05-22 Akira Kakuto <kakuto@fuk.kindai.ac.jp>
+
+ Import poppler-0.44.0.
+ * version.ac: Adjust.
+
+2016-04-29 Akira Kakuto <kakuto@fuk.kindai.ac.jp>
+
+ Import poppler-0.43.0.
+ * version.ac: Adjust.
+
2016-03-18 Luigi Scarso <luigi.scarso@gmail.com>
Import poppler-0.42.0.
* version.ac: Adjust.
-
2016-02-17 Akira Kakuto <kakuto@fuk.kindai.ac.jp>
Import poppler-0.41.0.
* version.ac: Adjust.
-
2016-02-15 Karl Berry <karl@tug.org>
* poppler-PATCHES: rename from poppler-src-PATCHES.
diff --git a/Build/source/libs/poppler/configure b/Build/source/libs/poppler/configure
index 0d7f9b2a600..d1b7f438257 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.42.0.
+# Generated by GNU Autoconf 2.69 for poppler (TeX Live) 0.44.0.
#
# Report bugs to <tex-k@tug.org>.
#
@@ -580,8 +580,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='poppler (TeX Live)'
PACKAGE_TARNAME='poppler--tex-live-'
-PACKAGE_VERSION='0.42.0'
-PACKAGE_STRING='poppler (TeX Live) 0.42.0'
+PACKAGE_VERSION='0.44.0'
+PACKAGE_STRING='poppler (TeX Live) 0.44.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.42.0 to adapt to many kinds of systems.
+\`configure' configures poppler (TeX Live) 0.44.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.42.0:";;
+ short | recursive ) echo "Configuration of poppler (TeX Live) 0.44.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.42.0
+poppler (TeX Live) configure 0.44.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.42.0, which was
+It was created by poppler (TeX Live) $as_me 0.44.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.42.0'
+ VERSION='0.44.0'
# Some tools Automake needs.
@@ -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.42.0"
+#define POPPLER_VERSION "0.44.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.42.0, which was
+This file was extended by poppler (TeX Live) $as_me 0.44.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.42.0
+poppler (TeX Live) config.status 0.44.0
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff --git a/Build/source/libs/poppler/poppler-PATCHES/ChangeLog b/Build/source/libs/poppler/poppler-PATCHES/ChangeLog
index 2f142c0c71e..fc997a9565b 100644
--- a/Build/source/libs/poppler/poppler-PATCHES/ChangeLog
+++ b/Build/source/libs/poppler/poppler-PATCHES/ChangeLog
@@ -1,3 +1,17 @@
+2016-05-22 Akira Kakuto <kakuto@fuk.kindai.ac.jp>
+
+ Imported poppler-0.44.0 source tree from:
+ http://poppler.freedesktop.org/
+ * patch-02-LLONG_MAX, patch-03-Object-functions: Adapted.
+ * patch-04-ULLONG-constants: Removed.
+
+2016-04-29 Akira Kakuto <kakuto@fuk.kindai.ac.jp>
+
+ Imported poppler-0.43.0 source tree from:
+ http://poppler.freedesktop.org/
+ * patch-02-LLONG_MAX, patch-03-Object-functions,
+ patch-04-ULLONG-constants: Adapted.
+
2016-03-29 Akira Kakuto <kakuto@fuk.kindai.ac.jp>
* patch-04-ULLONG-constants: new patch.
diff --git a/Build/source/libs/poppler/poppler-PATCHES/TL-Changes b/Build/source/libs/poppler/poppler-PATCHES/TL-Changes
index 2a89513c818..d060f7dbf67 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.42.0 tree as obtained from:
+Changes applied to the poppler-0.44.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 09e5f57303f..6431133c57b 100644
--- a/Build/source/libs/poppler/poppler-PATCHES/patch-02-LLONG_MAX
+++ b/Build/source/libs/poppler/poppler-PATCHES/patch-02-LLONG_MAX
@@ -1,7 +1,7 @@
-diff -ur poppler-src-orig/goo/GooString.h poppler-src/goo/GooString.h
---- poppler-src-orig/goo/GooString.h 2016-02-19 10:05:07.000000000 +0100
-+++ poppler-src/goo/GooString.h 2016-03-17 10:52:54.000000000 +0100
-@@ -35,6 +35,21 @@
+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
+@@ -36,6 +36,21 @@
#endif
#include <limits.h> // for LLONG_MAX and ULLONG_MAX
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 fdb11e63d87..df2d0032546 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-src-orig/poppler/Object.h poppler-src/poppler/Object.h
---- poppler-src-orig/poppler/Object.h 2016-03-02 00:35:28.000000000 +0100
-+++ poppler-src/poppler/Object.h 2016-03-17 10:53:37.000000000 +0100
+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
@@ -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 d385893280b..dd81d27de5c 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 "42")
+set(POPPLER_MINOR_VERSION "44")
set(POPPLER_MICRO_VERSION "0")
set(POPPLER_VERSION "${POPPLER_MAJOR_VERSION}.${POPPLER_MINOR_VERSION}.${POPPLER_MICRO_VERSION}")
@@ -501,7 +501,7 @@ add_library(poppler STATIC ${poppler_SRCS})
else(MSVC)
add_library(poppler SHARED ${poppler_SRCS})
endif(MSVC)
-set_target_properties(poppler PROPERTIES VERSION 59.0.0 SOVERSION 59)
+set_target_properties(poppler PROPERTIES VERSION 61.0.0 SOVERSION 61)
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 482e269b19f..8b64962a4f5 100644
--- a/Build/source/libs/poppler/poppler-src/ChangeLog
+++ b/Build/source/libs/poppler/poppler-src/ChangeLog
@@ -1,3 +1,371 @@
+commit 58f56a7af99b477f39e57aed74443b6851afe15f
+Author: Thomas Freitag <Thomas.Freitag@alfa.de>
+Date: Sat May 21 18:25:22 2016 +0200
+
+ Fix Compile in 32bit linux
+
+ Bug #95492
+
+ poppler/Decrypt.cc | 65
+ +++++++++++++++++++++++++++---------------------------
+ 1 file changed, 33 insertions(+), 32 deletions(-)
+
+commit 853e94995255591b35d9bdbeb0174476838097c0
+Author: Adrian Johnson <ajohnson@redneon.com>
+Date: Sun Apr 17 16:02:57 2016 +0930
+
+ pdftocairo: add -antialias option
+
+ Bug 94977
+
+ poppler/CairoOutputDev.cc | 24 +++++++++++++++++
+ poppler/CairoOutputDev.h | 4 ++-
+ utils/pdftocairo.1 | 26 +++++++++++++++++++
+ utils/pdftocairo.cc | 66
+ ++++++++++++++++++++++++++++++++++++++++++-----
+ 4 files changed, 112 insertions(+), 8 deletions(-)
+
+commit 8453966178de8535cdabac090e78ec17857f8975
+Author: Thomas Freitag <Thomas.Freitag@alfa.de>
+Date: Tue May 17 01:00:37 2016 +0200
+
+ Improve rendering of some dotted lines
+
+ Bug #84693
+
+ splash/Splash.cc | 9 +++++----
+ 1 file changed, 5 insertions(+), 4 deletions(-)
+
+commit 182abe4ed5c0773073c6751a26a7c4e40e99e02e
+Author: Thomas Freitag <Thomas.Freitag@alfa.de>
+Date: Fri May 13 00:07:24 2016 +0200
+
+ Splash: type 3 chars. restore the current position also in output
+ device
+
+ Bug #95344
+
+ poppler/Gfx.cc | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 9c35dc79ec777d9495796124ac7a42bf2b4cf83f
+Author: Jakub Kucharski <jakubkucharski97@gmail.com>
+Date: Wed May 11 23:34:53 2016 +0200
+
+ goo: refactor GooString::Set()
+
+ it is used only once to concatenate strings and it is in a GooString
+ constructor used specifically for that
+ so I think concatenation should take place in the constructor and
+ GooString::Set
+ should do exactly what it says which is setting the string.
+
+ Bug #94201
+
+ goo/GooString.cc | 40 ++++++++++++++--------------------------
+ goo/GooString.h | 10 +++++-----
+ 2 files changed, 19 insertions(+), 31 deletions(-)
+
+commit 0ecec576faf7e1ef644f5973f17e0b8244560912
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Wed May 4 23:23:04 2016 +0200
+
+ Fix typo in GfxPatchMeshShading::parse
+
+ poppler/GfxState.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 890178f9c946931ec34b8b227493ec9f1c6109aa
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Wed May 4 01:32:47 2016 +0200
+
+ Fix potential crash in SplashOutputDev::doUpdateFont
+
+ If we delete fontLoc we need to set it to NULL since it's not set
+ to any value in all of the
+ branches of this code
+
+ poppler/SplashOutputDev.cc | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 86572d7d2835fdd77e82eeb428e3a56c2d0f271d
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Wed May 4 01:27:54 2016 +0200
+
+ Fix memory leak in SignatureHandler::getDefaultFirefoxCertDB_Linux
+
+ poppler/SignatureHandler.cc | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 3707f9d17c5f8a883ddb9614b11676ad49ade5b2
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Wed May 4 00:59:01 2016 +0200
+
+ Fix potential crash in TextPage::coalesce
+
+ When flows is not null flow was still pointing to an now deleted
+ flow that
+ may had made it crash in the for loop below
+
+ poppler/TextOutputDev.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 6d26d02c39de6546f57b20c46922f8c56aad78a0
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Wed May 4 00:58:12 2016 +0200
+
+ Remove call that does nothing
+
+ We don't use dict after this call and streamGetDict is a pure getter,
+ i.e. it doesn't change the stream at all
+
+ poppler/GfxState.cc | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+commit 56c71fcaae71c2b3cc91bb981715541518e05684
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Wed May 4 00:55:06 2016 +0200
+
+ Fix memory leak in PSOutputDev::filterPSLabel
+
+ poppler/PSOutputDev.cc | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+commit a0c3fd3f18232c126815a129158e0c4cd3a819a9
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Fri Apr 29 00:14:24 2016 +0200
+
+ New version and soversion
+
+ CMakeLists.txt | 4 ++--
+ configure.ac | 2 +-
+ cpp/Doxyfile | 2 +-
+ gtk-doc.make | 2 +-
+ poppler/Makefile.am | 2 +-
+ qt4/src/Doxyfile | 2 +-
+ qt5/src/Doxyfile | 2 +-
+ 7 files changed, 8 insertions(+), 8 deletions(-)
+
+commit da91593e834d4e617213466331226347f1688a53
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Fri Apr 29 00:12:59 2016 +0200
+
+ News
+
+ NEWS | 20 ++++++++++++++++++++
+ 1 file changed, 20 insertions(+)
+
+commit bdd25a2583552fe8e72dcf4bc17d9f488b7c1268
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Fri Apr 29 00:07:24 2016 +0200
+
+ Update Cs
+
+ poppler/CairoFontEngine.cc | 2 +-
+ poppler/CairoOutputDev.cc | 2 +-
+ poppler/CairoOutputDev.h | 1 +
+ poppler/GfxFont.cc | 2 +-
+ utils/pdftocairo.cc | 1 +
+ 5 files changed, 5 insertions(+), 3 deletions(-)
+
+commit dbbe1590d49e620ef0743cb1b99b0b5b9a1f36ec
+Author: Arseniy Lartsev <arseniy@alumni.chalmers.se>
+Date: Thu Apr 28 23:59:05 2016 +0200
+
+ qt: Fix crash on certain PDF form item activation actions
+
+ Bug #94873
+
+ qt4/src/poppler-page.cc | 3 ++-
+ qt5/src/poppler-page.cc | 3 ++-
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+commit 1cc93886eee3204e2ccd8bcc8b90306e809255e0
+Author: Thomas Freitag <Thomas.Freitag@alfa.de>
+Date: Thu Apr 28 23:53:06 2016 +0200
+
+ Allow newlines in '<num> <gen> obj' sequence
+
+ Bug #94756
+
+ poppler/XRef.cc | 15 +++++++++++++--
+ 1 file changed, 13 insertions(+), 2 deletions(-)
+
+commit a8e3399487258e53df0fd4a79c570c8d71188bed
+Author: Takahiro Hashimoto <kenya888.en@gmail.com>
+Date: Wed Apr 27 00:16:52 2016 +0200
+
+ Compile with C++11 compilers that don't define isinfinite
+
+ Bug #94761
+
+ poppler/SplashOutputDev.cc | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+commit 6eafb6570765605108cf3525f78b10223439ee1d
+Author: Pino Toscano <pino@kde.org>
+Date: Thu Apr 21 08:30:25 2016 +0200
+
+ configure: remove unused check for gethostbyname
+
+ configure.ac | 5 -----
+ 1 file changed, 5 deletions(-)
+
+commit d9408c186f9b5c992a4e1492a58dda506d8453ac
+Author: Pino Toscano <pino@kde.org>
+Date: Sun Apr 10 10:29:05 2016 +0200
+
+ typo fixes
+
+ - "indentical" -> "identical"
+ - "numberals" -> "numerals"
+ - "paremeters" -> "parameters"
+
+ poppler/PageLabelInfo_p.h | 2 +-
+ qt4/src/poppler-media.cc | 8 ++++----
+ qt5/src/poppler-media.cc | 8 ++++----
+ utils/pdfimages.1 | 2 +-
+ 4 files changed, 10 insertions(+), 10 deletions(-)
+
+commit 5ac54db9150e949ed0e41eec1f19a7f5ec880646
+Author: Pino Toscano <pino@kde.org>
+Date: Sun Apr 10 10:16:36 2016 +0200
+
+ utils: ship pdfsig.1 if pdfsig is built
+
+ utils/Makefile.am | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 92c6799a40b0755ff2d43f33241d442cc5d4e323
+Author: Pino Toscano <pino@kde.org>
+Date: Sun Apr 10 09:43:29 2016 +0200
+
+ remove +x modes
+
+ poppler/SecurityHandler.cc | 0
+ 1 file changed, 0 insertions(+), 0 deletions(-)
+
+commit 9c39db64ba2eb20ca769a103d83a830f406486f0
+Author: Jason Crain <jason@aquaticape.us>
+Date: Mon Jan 18 20:56:18 2016 -0600
+
+ Add SymbolMT as an alias for the Symbol font
+
+ A document using the SymbolMT font will have the wrong glyphs drawn.
+ Add it as
+ an alias for the Symbol font so the correct font and encoding
+ are used.
+
+ Bug #93168
+
+ poppler/GfxFont.cc | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit af332349d7a5e3737ea53608cda2f1cad6159108
+Author: Jason Crain <jason@aquaticape.us>
+Date: Mon Mar 28 21:36:52 2016 -0500
+
+ pdftocairo: Calculate rotation before scaling
+
+ Scaling calculation (-scale-to-x and -scale-to-y) is wrong if a
+ page is
+ rotated. Fix by moving scale calculation to after rotation
+ calculation.
+
+ bug #94655
+
+ utils/pdftocairo.cc | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+commit db87dc7fa28537f7532328c278c05d8b60f90d6f
+Author: Jason Crain <jason@aquaticape.us>
+Date: Sun Feb 21 22:54:15 2016 -0600
+
+ cairo: save mask state and don't extend image mask
+
+ Don't extend an image mask pattern. Save and restore the mask in
+ tilingPatternFill.
+
+ bug #94234
+
+ poppler/CairoOutputDev.cc | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+commit b68a4ee1dcd1da5b48b2c1f0bb2b6a789ca18ea5
+Author: Jason Crain <jason@aquaticape.us>
+Date: Thu Feb 18 01:59:42 2016 -0600
+
+ cairo: Check if PDF knows the width of 'm' in case of substituted font
+
+ Bug #94054
+
+ poppler/CairoFontEngine.cc | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+commit 7d8dfb09d2b9d69d4e80838ce58fdbd091bce7ec
+Author: Jason Crain <jason@aquaticape.us>
+Date: Sun Feb 28 16:18:05 2016 -0600
+
+ cairo: fix fillToStrokePathClip crash and rendering
+
+ The cairo backend can crash if the dash pattern changes between
+ calling
+ clipToStrokePathClip and fillToStrokePathClip because
+ fillToStrokePathClip
+ calls cairo_set_dash with the saved dash pattern but the current
+ dash count.
+
+ Fixes the crash by removing the call to cairo_get_dash_count in
+ fillToStrokePathClip. Makes strokePathClip reference counted
+ because when
+ drawing tiling patterns it may need to be kept around for more than
+ one drawing
+ operation. Uses fillToStrokePathClip in a few more places to fix
+ rendering.
+
+ bug #62905
+
+ poppler/CairoOutputDev.cc | 38 ++++++++++++++++++++++++++++++--------
+ poppler/CairoOutputDev.h | 1 +
+ 2 files changed, 31 insertions(+), 8 deletions(-)
+
+commit 67bc280c4068ae9501053c06ee05341b95a5e6db
+Author: Thomas Freitag <Thomas.Freitag@alfa.de>
+Date: Sun Mar 20 12:39:24 2016 +0100
+
+ Implement sanity check for linearization usage
+
+ Bug #92482
+
+ poppler/PDFDoc.cc | 42 +++++++++++++++++++++++++++++++++++++++++-
+ poppler/PDFDoc.h | 7 ++++++-
+ 2 files changed, 47 insertions(+), 2 deletions(-)
+
+commit a24ac96e9f5c914c1c979319ca1043dabd334763
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Thu Mar 17 00:08:37 2016 +0100
+
+ meh typo
+
+ NEWS | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit f8ff943650e7e2a4cb836be43bf04907a5e156fc
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Wed Mar 16 23:40:00 2016 +0100
+
+ 0.42
+
+ CMakeLists.txt | 4 ++--
+ Makefile.am | 1 +
+ NEWS | 28 ++++++++++++++++++++++++++++
+ configure.ac | 2 +-
+ cpp/Doxyfile | 2 +-
+ poppler/Makefile.am | 4 ++--
+ qt4/src/Doxyfile | 2 +-
+ qt5/src/Doxyfile | 2 +-
+ 8 files changed, 37 insertions(+), 8 deletions(-)
+
commit ef21f651a4af801502d6b4b4f7258d54f14e7aea
Author: Albert Astals Cid <aacid@kde.org>
Date: Wed Mar 16 20:23:39 2016 +0100
diff --git a/Build/source/libs/poppler/poppler-src/NEWS b/Build/source/libs/poppler/poppler-src/NEWS
index 19812f9d9c8..558efd8133e 100644
--- a/Build/source/libs/poppler/poppler-src/NEWS
+++ b/Build/source/libs/poppler/poppler-src/NEWS
@@ -1,4 +1,40 @@
-Release 0.41.0
+Release 0.44.0
+ core:
+ * Fix Compile in 32bit linux. Bug #95492
+ * Splash: type 3 chars. restore the current position also in output device. Bug #95344
+ * Splash: Improve rendering of some dotted lines. Bug #84693
+ * Refactor GooString::Set(). Bug #94201
+ * Fix typo in GfxPatchMeshShading::parse
+ * Fix memory leak in PSOutputDev::filterPSLabel
+ * Fix memory leak in SignatureHandler::getDefaultFirefoxCertDB_Linux
+ * Fix potential crash in SplashOutputDev::doUpdateFont
+ * Fix potential crash in TextPage::coalesce
+ * Remove call that does nothing
+
+ utils:
+ * pdftocairo: add -antialias option. Bug #94977
+
+Release 0.43.0
+ core:
+ * Implement sanity check for linearization usage. Bug #92482
+ * Add SymbolMT as an alias for the Symbol font. Bug #93168
+ * Fix some blank files. Bug #94756
+ * cairo: fix fillToStrokePathClip crash and rendering. Bug #62905
+ * cairo: Check if PDF knows the width of 'm' in case of substituted font. Bug #94054
+ * cairo: save mask state and don't extend image mask. bug #94234
+ * SplashOuputDev: Compile with C++11 compilers that don't define isinfinite. Bug #94761
+ * typo fixes
+
+ utils:
+ * pdftocairo: Calculate rotation before scaling. Bug #94655
+
+ qt4:
+ * Fix crash on certain PDF form item activation actions. Bug #94873
+
+ qt5:
+ * Fix crash on certain PDF form item activation actions. Bug #94873
+
+Release 0.42.0
core:
* Add the support for version 5 + revision 6 documents. Bug #85368
* Add initial support for Signature handling
diff --git a/Build/source/libs/poppler/poppler-src/configure.ac b/Build/source/libs/poppler/poppler-src/configure.ac
index 57639ad57e0..8ff8ea50116 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],[42])
+m4_define([poppler_version_minor],[44])
m4_define([poppler_version_micro],[0])
m4_define([poppler_version],[poppler_version_major.poppler_version_minor.poppler_version_micro])
@@ -181,11 +181,6 @@ AC_CHECK_FUNC(gmtime_r, AC_DEFINE(HAVE_GMTIME_R, 1, [Defines if gmtime_r is avai
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.)
-AC_CHECK_FUNC(gethostbyname)
-if test $ac_cv_func_gethostbyname = no; then
- AC_CHECK_LIB(bsd, gethostbyname, X_EXTRA_LIBS="$X_EXTRA_LIBS -lbsd")
-fi
-
AC_CHECK_FUNC(nanosleep,,)
dnl try in librt if not found in current LIBS
if test x$ac_cv_func_nanosleep = xno
diff --git a/Build/source/libs/poppler/poppler-src/goo/GooString.cc b/Build/source/libs/poppler/poppler-src/goo/GooString.cc
index 3f22f368560..de9c93c9125 100644
--- a/Build/source/libs/poppler/poppler-src/goo/GooString.cc
+++ b/Build/source/libs/poppler/poppler-src/goo/GooString.cc
@@ -25,6 +25,7 @@
// Copyright (C) 2012 Pino Toscano <pino@kde.org>
// Copyright (C) 2013 Jason Crain <jason@aquaticape.us>
// Copyright (C) 2015 William Bader <williambader@hotmail.com>
+// Copyright (C) 2016 Jakub Kucharski <jakubkucharski97@gmail.com>
//
// 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
@@ -176,37 +177,22 @@ void inline GooString::resize(int newLength) {
s[length] = '\0';
}
-GooString* GooString::Set(const char *s1, int s1Len, const char *s2, int s2Len)
+GooString* GooString::Set(const char *newStr, int newLen)
{
- int newLen = 0;
- char *p;
-
- if (s1) {
- if (CALC_STRING_LEN == s1Len) {
- s1Len = strlen(s1);
- } else
- assert(s1Len >= 0);
- newLen += s1Len;
+ if (!newStr) {
+ clear();
+ return this;
}
- if (s2) {
- if (CALC_STRING_LEN == s2Len) {
- s2Len = strlen(s2);
- } else
- assert(s2Len >= 0);
- newLen += s2Len;
+ if (newLen == CALC_STRING_LEN) {
+ newLen = strlen(newStr);
+ } else {
+ assert(newLen >= 0);
}
resize(newLen);
- p = s;
- if (s1) {
- memcpy(p, s1, s1Len);
- p += s1Len;
- }
- if (s2) {
- memcpy(p, s2, s2Len);
- p += s2Len;
- }
+ memmove(s, newStr, newLen);
+
return this;
}
@@ -244,7 +230,9 @@ GooString::GooString(const GooString *str) {
GooString::GooString(GooString *str1, GooString *str2) {
s = NULL;
length = 0;
- Set(str1->getCString(), str1->length, str2->getCString(), str2->length);
+ resize(str1->length + str2->length);
+ memcpy(s, str1->getCString(), str1->length);
+ memcpy(s + str1->length, str2->getCString(), str2->length);
}
GooString *GooString::fromInt(int x) {
diff --git a/Build/source/libs/poppler/poppler-src/goo/GooString.h b/Build/source/libs/poppler/poppler-src/goo/GooString.h
index cca5a905e97..3168dff181c 100644
--- a/Build/source/libs/poppler/poppler-src/goo/GooString.h
+++ b/Build/source/libs/poppler/poppler-src/goo/GooString.h
@@ -21,6 +21,7 @@
// Copyright (C) 2012-2014 Fabio D'Urso <fabiodurso@hotmail.it>
// Copyright (C) 2013 Jason Crain <jason@aquaticape.us>
// Copyright (C) 2015 Adam Reichold <adam.reichold@t-online.de>
+// Copyright (C) 2016 Jakub Kucharski <jakubkucharski97@gmail.com>
//
// 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
@@ -80,11 +81,10 @@ public:
// Create a string from <lengthA> chars at <idx> in <str>.
GooString(GooString *str, int idx, int lengthA);
- // Set content of a string to concatination of <s1> and <s2>. They can both
- // be NULL. if <s1Len> or <s2Len> is CALC_STRING_LEN, then length of the string
- // will be calculated with strlen(). Otherwise we assume they are a valid
- // length of string (or its substring)
- GooString* Set(const char *s1, int s1Len=CALC_STRING_LEN, const char *s2=NULL, int s2Len=CALC_STRING_LEN);
+ // Set content of a string to <newStr>. If <newLen> is CALC_STRING_LEN, then
+ // length of the string will be calculated with strlen(). Otherwise we assume
+ // this is a valid length of <newStr> (or its substring)
+ GooString* Set(const char *newStr, int newLen=CALC_STRING_LEN);
// Copy a string.
explicit GooString(const GooString *str);
diff --git a/Build/source/libs/poppler/poppler-src/gtk-doc.make b/Build/source/libs/poppler/poppler-src/gtk-doc.make
index 45a3350e1d9..e4a12a5b255 100644
--- a/Build/source/libs/poppler/poppler-src/gtk-doc.make
+++ b/Build/source/libs/poppler/poppler-src/gtk-doc.make
@@ -142,7 +142,7 @@ GTK_DOC_V_XML=$(GTK_DOC_V_XML_$(V))
GTK_DOC_V_XML_=$(GTK_DOC_V_XML_$(AM_DEFAULT_VERBOSITY))
GTK_DOC_V_XML_0=@echo " DOC Building XML";
-sgml-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt $(expand_content_files) xml/gtkdocentities.ent
+sgml-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(HFILE_GLOB) $(CFILE_GLOB) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt $(expand_content_files) xml/gtkdocentities.ent
$(GTK_DOC_V_XML)_source_dir='' ; \
for i in $(DOC_SOURCE_DIR) ; do \
_source_dir="$${_source_dir} --source-dir=$$i" ; \
diff --git a/Build/source/libs/poppler/poppler-src/poppler/CairoFontEngine.cc b/Build/source/libs/poppler/poppler-src/poppler/CairoFontEngine.cc
index 3cff917a425..e13607f9cf3 100644
--- a/Build/source/libs/poppler/poppler-src/poppler/CairoFontEngine.cc
+++ b/Build/source/libs/poppler/poppler-src/poppler/CairoFontEngine.cc
@@ -27,7 +27,7 @@
// Copyright (C) 2010 Jan Kümmel <jan+freedesktop@snorc.org>
// Copyright (C) 2012 Hib Eris <hib@hiberis.nl>
// Copyright (C) 2013 Thomas Freitag <Thomas.Freitag@alfa.de>
-// Copyright (C) 2015 Jason Crain <jason@aquaticape.us>
+// Copyright (C) 2015, 2016 Jason Crain <jason@aquaticape.us>
//
// 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
@@ -113,7 +113,7 @@ CairoFont::getGlyph(CharCode code,
double
CairoFont::getSubstitutionCorrection(GfxFont *gfxFont)
{
- double w1, w2;
+ double w1, w2, w3;
CharCode code;
char *name;
@@ -143,7 +143,8 @@ CairoFont::getSubstitutionCorrection(GfxFont *gfxFont)
cairo_font_options_destroy(options);
w2 = extents.x_advance;
}
- if (!gfxFont->isSymbolic()) {
+ w3 = ((Gfx8BitFont *)gfxFont)->getWidth(0);
+ if (!gfxFont->isSymbolic() && w2 > 0 && w1 > w3) {
// if real font is substantially narrower than substituted
// font, reduce the font size accordingly
if (w1 > 0.01 && w1 < 0.9 * w2) {
diff --git a/Build/source/libs/poppler/poppler-src/poppler/CairoOutputDev.cc b/Build/source/libs/poppler/poppler-src/poppler/CairoOutputDev.cc
index d0d6cb43f11..9f892b23b3e 100644
--- a/Build/source/libs/poppler/poppler-src/poppler/CairoOutputDev.cc
+++ b/Build/source/libs/poppler/poppler-src/poppler/CairoOutputDev.cc
@@ -27,7 +27,7 @@
// Copyright (C) 2009, 2010 David Benjamin <davidben@mit.edu>
// Copyright (C) 2011-2014 Thomas Freitag <Thomas.Freitag@alfa.de>
// Copyright (C) 2012 Patrick Pfeifer <p2000@mailinator.com>
-// Copyright (C) 2012, 2015 Jason Crain <jason@aquaticape.us>
+// Copyright (C) 2012, 2015, 2016 Jason Crain <jason@aquaticape.us>
// Copyright (C) 2015 Suzuki Toshiya <mpsuzuki@hiroshima-u.ac.jp>
//
// To see a description of the changes please see the Changelog file that
@@ -206,6 +206,7 @@ void CairoOutputDev::setCairo(cairo_t *cairo)
/* save the initial matrix so that we can use it for type3 fonts. */
//XXX: is this sufficient? could we miss changes to the matrix somehow?
cairo_get_matrix(cairo, &orig_matrix);
+ setAntialias(cairo, antialias);
} else {
this->cairo = NULL;
this->cairo_shape = NULL;
@@ -228,6 +229,26 @@ void CairoOutputDev::setTextPage(TextPage *text)
}
}
+void CairoOutputDev::setAntialias(cairo_antialias_t antialias)
+{
+ this->antialias = antialias;
+ if (cairo)
+ setAntialias (cairo, antialias);
+ if (cairo_shape)
+ setAntialias (cairo_shape, antialias);
+}
+
+void CairoOutputDev::setAntialias(cairo_t *cr, cairo_antialias_t antialias)
+{
+ cairo_font_options_t *font_options;
+ cairo_set_antialias (cairo, antialias);
+ font_options = cairo_font_options_create ();
+ cairo_get_font_options (cr, font_options);
+ cairo_font_options_set_antialias (font_options, antialias);
+ cairo_set_font_options (cr, font_options);
+ cairo_font_options_destroy (font_options);
+}
+
void CairoOutputDev::startDoc(PDFDoc *docA,
CairoFontEngine *parentFontEngine) {
doc = docA;
@@ -278,6 +299,9 @@ void CairoOutputDev::saveState(GfxState *state) {
ms->mask_matrix = mask_matrix;
ms->next = maskStack;
maskStack = ms;
+
+ if (strokePathClip)
+ strokePathClip->ref_count++;
}
void CairoOutputDev::restoreState(GfxState *state) {
@@ -305,6 +329,14 @@ void CairoOutputDev::restoreState(GfxState *state) {
maskStack = ms->next;
delete ms;
}
+
+ if (strokePathClip && --strokePathClip->ref_count == 0) {
+ delete strokePathClip->path;
+ if (strokePathClip->dashes)
+ gfree (strokePathClip->dashes);
+ gfree (strokePathClip);
+ strokePathClip = NULL;
+ }
}
void CairoOutputDev::updateAll(GfxState *state) {
@@ -780,7 +812,14 @@ void CairoOutputDev::stroke(GfxState *state) {
align_stroke_coords = gFalse;
cairo_set_source (cairo, stroke_pattern);
LOG(printf ("stroke\n"));
- cairo_stroke (cairo);
+ if (strokePathClip) {
+ cairo_push_group (cairo);
+ cairo_stroke (cairo);
+ cairo_pop_group_to_source (cairo);
+ fillToStrokePathClip (state);
+ } else {
+ cairo_stroke (cairo);
+ }
if (cairo_shape) {
doPath (cairo_shape, state, state->getPath());
cairo_stroke (cairo_shape);
@@ -803,6 +842,11 @@ void CairoOutputDev::fill(GfxState *state) {
if (mask) {
cairo_save (cairo);
cairo_clip (cairo);
+ if (strokePathClip) {
+ cairo_push_group (cairo);
+ fillToStrokePathClip (state);
+ cairo_pop_group_to_source (cairo);
+ }
cairo_set_matrix (cairo, &mask_matrix);
cairo_mask (cairo, mask);
cairo_restore (cairo);
@@ -859,6 +903,7 @@ GBool CairoOutputDev::tilingPatternFill(GfxState *state, Gfx *gfxA, Catalog *cat
int surface_width, surface_height;
StrokePathClip *strokePathTmp;
GBool adjusted_stroke_width_tmp;
+ cairo_pattern_t *maskTmp;
width = bbox[2] - bbox[0];
height = bbox[3] - bbox[1];
@@ -889,6 +934,7 @@ GBool CairoOutputDev::tilingPatternFill(GfxState *state, Gfx *gfxA, Catalog *cat
old_cairo = cairo;
cairo = cairo_create (surface);
cairo_surface_destroy (surface);
+ setAntialias(cairo, antialias);
cairo_scale (cairo, surface_width / width, surface_height / height);
box.x1 = bbox[0]; box.y1 = bbox[1];
@@ -896,6 +942,8 @@ GBool CairoOutputDev::tilingPatternFill(GfxState *state, Gfx *gfxA, Catalog *cat
strokePathTmp = strokePathClip;
strokePathClip = NULL;
adjusted_stroke_width_tmp = adjusted_stroke_width;
+ maskTmp = mask;
+ mask = NULL;
gfx = new Gfx(doc, this, resDict, &box, NULL, NULL, NULL, gfxA->getXRef());
if (paintType == 2)
inUncoloredPattern = gTrue;
@@ -905,6 +953,7 @@ GBool CairoOutputDev::tilingPatternFill(GfxState *state, Gfx *gfxA, Catalog *cat
delete gfx;
strokePathClip = strokePathTmp;
adjusted_stroke_width = adjusted_stroke_width_tmp;
+ mask = maskTmp;
pattern = cairo_pattern_create_for_surface (cairo_get_target (cairo));
cairo_destroy (cairo);
@@ -1296,6 +1345,7 @@ void CairoOutputDev::clipToStrokePath(GfxState *state) {
strokePathClip->cap = cairo_get_line_cap (cairo);
strokePathClip->join = cairo_get_line_join (cairo);
strokePathClip->miter = cairo_get_miter_limit (cairo);
+ strokePathClip->ref_count = 1;
}
void CairoOutputDev::fillToStrokePathClip(GfxState *state) {
@@ -1303,7 +1353,6 @@ void CairoOutputDev::fillToStrokePathClip(GfxState *state) {
cairo_set_matrix (cairo, &strokePathClip->ctm);
cairo_set_line_width (cairo, strokePathClip->line_width);
- strokePathClip->dash_count = cairo_get_dash_count (cairo);
cairo_set_dash (cairo, strokePathClip->dashes, strokePathClip->dash_count, strokePathClip->dash_offset);
cairo_set_line_cap (cairo, strokePathClip->cap);
cairo_set_line_join (cairo, strokePathClip->join);
@@ -1312,12 +1361,6 @@ void CairoOutputDev::fillToStrokePathClip(GfxState *state) {
cairo_stroke (cairo);
cairo_restore (cairo);
-
- delete strokePathClip->path;
- if (strokePathClip->dashes)
- gfree (strokePathClip->dashes);
- gfree (strokePathClip);
- strokePathClip = NULL;
}
void CairoOutputDev::beginString(GfxState *state, GooString *s)
@@ -1590,6 +1633,7 @@ void CairoOutputDev::beginTransparencyGroup(GfxState * /*state*/, double * /*bbo
cairo_surface_t *cairo_shape_surface = cairo_surface_create_similar_clip (cairo, CAIRO_CONTENT_ALPHA);
cairo_shape = cairo_create (cairo_shape_surface);
cairo_surface_destroy (cairo_shape_surface);
+ setAntialias(cairo_shape, antialias);
/* the color doesn't matter as long as it is opaque */
cairo_set_source_rgb (cairo_shape, 0, 0, 0);
@@ -1744,6 +1788,7 @@ void CairoOutputDev::setSoftMask(GfxState * state, double * bbox, GBool alpha,
cairo_surface_t *source = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, width, height);
cairo_t *maskCtx = cairo_create(source);
+ setAntialias(maskCtx, antialias);
//XXX: hopefully this uses the correct color space */
if (!alpha && groupColorSpaceStack->cs) {
@@ -2396,7 +2441,6 @@ void CairoOutputDev::drawImageMaskPrescaled(GfxState *state, Object *ref, Stream
* images with CAIRO_FILTER_NEAREST to look really bad */
cairo_pattern_set_filter (pattern,
interpolate ? CAIRO_FILTER_BEST : CAIRO_FILTER_FAST);
- cairo_pattern_set_extend (pattern, CAIRO_EXTEND_PAD);
if (state->getFillColorSpace()->getMode() == csPattern) {
cairo_matrix_init_translate (&matrix, 0, scaledHeight);
@@ -2425,6 +2469,11 @@ void CairoOutputDev::drawImageMaskPrescaled(GfxState *state, Object *ref, Stream
cairo_rectangle (cairo, 0., 0., scaledWidth, scaledHeight);
cairo_clip (cairo);
+ if (strokePathClip) {
+ cairo_push_group (cairo);
+ fillToStrokePathClip (state);
+ cairo_pop_group_to_source (cairo);
+ }
cairo_mask (cairo, pattern);
//cairo_get_matrix(cairo, &matrix);
diff --git a/Build/source/libs/poppler/poppler-src/poppler/CairoOutputDev.h b/Build/source/libs/poppler/poppler-src/poppler/CairoOutputDev.h
index c146ce01b76..3a6dbfa4648 100644
--- a/Build/source/libs/poppler/poppler-src/poppler/CairoOutputDev.h
+++ b/Build/source/libs/poppler/poppler-src/poppler/CairoOutputDev.h
@@ -22,6 +22,7 @@
// Copyright (C) 2008 Michael Vrable <mvrable@cs.ucsd.edu>
// Copyright (C) 2010-2013 Thomas Freitag <Thomas.Freitag@alfa.de>
// Copyright (C) 2015 Suzuki Toshiya <mpsuzuki@hiroshima-u.ac.jp>
+// Copyright (C) 2016 Jason Crain <jason@aquaticape.us>
//
// 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
@@ -265,6 +266,7 @@ public:
void setCairo (cairo_t *cr);
void setTextPage (TextPage *text);
void setPrinting (GBool printing) { this->printing = printing; needFontUpdate = gTrue; }
+ void setAntialias(cairo_antialias_t antialias);
void setInType3Char(GBool inType3Char) { this->inType3Char = inType3Char; }
void getType3GlyphWidth (double *wx, double *wy) { *wx = t3_glyph_wx; *wy = t3_glyph_wy; }
@@ -287,6 +289,7 @@ protected:
#if CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 14, 0)
GBool setMimeDataForJBIG2Globals (Stream *str, cairo_surface_t *image);
#endif
+ void setAntialias(cairo_t *cr, cairo_antialias_t antialias);
GfxRGB fill_color, stroke_color;
cairo_pattern_t *fill_pattern, *stroke_pattern;
@@ -308,6 +311,7 @@ protected:
cairo_line_cap_t cap;
cairo_line_join_t join;
double miter;
+ int ref_count;
} *strokePathClip;
PDFDoc *doc; // the current document
@@ -338,7 +342,7 @@ protected:
double t3_glyph_wx, t3_glyph_wy;
GBool t3_glyph_has_bbox;
double t3_glyph_bbox[4];
-
+ cairo_antialias_t antialias;
GBool prescaleImages;
TextPage *text; // text for the current page
diff --git a/Build/source/libs/poppler/poppler-src/poppler/Decrypt.cc b/Build/source/libs/poppler/poppler-src/poppler/Decrypt.cc
index 4229b06d1ae..cfc9676f8ae 100644
--- a/Build/source/libs/poppler/poppler-src/poppler/Decrypt.cc
+++ b/Build/source/libs/poppler/poppler-src/poppler/Decrypt.cc
@@ -20,6 +20,7 @@
// Copyright (C) 2012 Fabio D'Urso <fabiodurso@hotmail.it>
// Copyright (C) 2013 Adrian Johnson <ajohnson@redneon.com>
// Copyright (C) 2016 Alok Anand <alok4nand@gmail.com>
+// Copyright (C) 2016 Thomas Freitag <Thomas.Freitag@alfa.de>
//
// 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
@@ -1444,22 +1445,22 @@ static void sha256(Guchar *msg, int msgLen, Guchar *hash) {
//------------------------------------------------------------------------
// SHA 384 and SHA 512 use the same sequence of eighty constant 64 bit words.
static const uint64_t K[80] = {
- 0x428a2f98d728ae22ULL, 0x7137449123ef65cdULL, 0xb5c0fbcfec4d3b2fULL, 0xe9b5dba58189dbbcULL, 0x3956c25bf348b538ULL,
- 0x59f111f1b605d019ULL, 0x923f82a4af194f9bULL, 0xab1c5ed5da6d8118ULL, 0xd807aa98a3030242ULL, 0x12835b0145706fbeULL,
- 0x243185be4ee4b28cULL, 0x550c7dc3d5ffb4e2ULL, 0x72be5d74f27b896fULL, 0x80deb1fe3b1696b1ULL, 0x9bdc06a725c71235ULL,
- 0xc19bf174cf692694ULL, 0xe49b69c19ef14ad2ULL, 0xefbe4786384f25e3ULL, 0x0fc19dc68b8cd5b5ULL, 0x240ca1cc77ac9c65ULL,
- 0x2de92c6f592b0275ULL, 0x4a7484aa6ea6e483ULL, 0x5cb0a9dcbd41fbd4ULL, 0x76f988da831153b5ULL, 0x983e5152ee66dfabULL,
- 0xa831c66d2db43210ULL, 0xb00327c898fb213fULL, 0xbf597fc7beef0ee4ULL, 0xc6e00bf33da88fc2ULL, 0xd5a79147930aa725ULL,
- 0x06ca6351e003826fULL, 0x142929670a0e6e70ULL, 0x27b70a8546d22ffcULL, 0x2e1b21385c26c926ULL, 0x4d2c6dfc5ac42aedULL,
- 0x53380d139d95b3dfULL, 0x650a73548baf63deULL, 0x766a0abb3c77b2a8ULL, 0x81c2c92e47edaee6ULL, 0x92722c851482353bULL,
- 0xa2bfe8a14cf10364ULL, 0xa81a664bbc423001ULL, 0xc24b8b70d0f89791ULL, 0xc76c51a30654be30ULL, 0xd192e819d6ef5218ULL,
- 0xd69906245565a910ULL, 0xf40e35855771202aULL, 0x106aa07032bbd1b8ULL, 0x19a4c116b8d2d0c8ULL, 0x1e376c085141ab53ULL,
- 0x2748774cdf8eeb99ULL, 0x34b0bcb5e19b48a8ULL, 0x391c0cb3c5c95a63ULL, 0x4ed8aa4ae3418acbULL, 0x5b9cca4f7763e373ULL,
- 0x682e6ff3d6b2b8a3ULL, 0x748f82ee5defb2fcULL, 0x78a5636f43172f60ULL, 0x84c87814a1f0ab72ULL, 0x8cc702081a6439ecULL,
- 0x90befffa23631e28ULL, 0xa4506cebde82bde9ULL, 0xbef9a3f7b2c67915ULL, 0xc67178f2e372532bULL, 0xca273eceea26619cULL,
- 0xd186b8c721c0c207ULL, 0xeada7dd6cde0eb1eULL, 0xf57d4f7fee6ed178ULL, 0x06f067aa72176fbaULL, 0x0a637dc5a2c898a6ULL,
- 0x113f9804bef90daeULL, 0x1b710b35131c471bULL, 0x28db77f523047d84ULL, 0x32caab7b40c72493ULL, 0x3c9ebe0a15c9bebcULL,
- 0x431d67c49c100d4cULL, 0x4cc5d4becb3e42b6ULL, 0x597f299cfc657e2aULL, 0x5fcb6fab3ad6faecULL, 0x6c44198c4a475817ULL
+ 0x428a2f98d728ae22ull, 0x7137449123ef65cdull, 0xb5c0fbcfec4d3b2full, 0xe9b5dba58189dbbcull, 0x3956c25bf348b538ull,
+ 0x59f111f1b605d019ull, 0x923f82a4af194f9bull, 0xab1c5ed5da6d8118ull, 0xd807aa98a3030242ull, 0x12835b0145706fbeull,
+ 0x243185be4ee4b28cull, 0x550c7dc3d5ffb4e2ull, 0x72be5d74f27b896full, 0x80deb1fe3b1696b1ull, 0x9bdc06a725c71235ull,
+ 0xc19bf174cf692694ull, 0xe49b69c19ef14ad2ull, 0xefbe4786384f25e3ull, 0x0fc19dc68b8cd5b5ull, 0x240ca1cc77ac9c65ull,
+ 0x2de92c6f592b0275ull, 0x4a7484aa6ea6e483ull, 0x5cb0a9dcbd41fbd4ull, 0x76f988da831153b5ull, 0x983e5152ee66dfabull,
+ 0xa831c66d2db43210ull, 0xb00327c898fb213full, 0xbf597fc7beef0ee4ull, 0xc6e00bf33da88fc2ull, 0xd5a79147930aa725ull,
+ 0x06ca6351e003826full, 0x142929670a0e6e70ull, 0x27b70a8546d22ffcull, 0x2e1b21385c26c926ull, 0x4d2c6dfc5ac42aedull,
+ 0x53380d139d95b3dfull, 0x650a73548baf63deull, 0x766a0abb3c77b2a8ull, 0x81c2c92e47edaee6ull, 0x92722c851482353bull,
+ 0xa2bfe8a14cf10364ull, 0xa81a664bbc423001ull, 0xc24b8b70d0f89791ull, 0xc76c51a30654be30ull, 0xd192e819d6ef5218ull,
+ 0xd69906245565a910ull, 0xf40e35855771202aull, 0x106aa07032bbd1b8ull, 0x19a4c116b8d2d0c8ull, 0x1e376c085141ab53ull,
+ 0x2748774cdf8eeb99ull, 0x34b0bcb5e19b48a8ull, 0x391c0cb3c5c95a63ull, 0x4ed8aa4ae3418acbull, 0x5b9cca4f7763e373ull,
+ 0x682e6ff3d6b2b8a3ull, 0x748f82ee5defb2fcull, 0x78a5636f43172f60ull, 0x84c87814a1f0ab72ull, 0x8cc702081a6439ecull,
+ 0x90befffa23631e28ull, 0xa4506cebde82bde9ull, 0xbef9a3f7b2c67915ull, 0xc67178f2e372532bull, 0xca273eceea26619cull,
+ 0xd186b8c721c0c207ull, 0xeada7dd6cde0eb1eull, 0xf57d4f7fee6ed178ull, 0x06f067aa72176fbaull, 0x0a637dc5a2c898a6ull,
+ 0x113f9804bef90daeull, 0x1b710b35131c471bull, 0x28db77f523047d84ull, 0x32caab7b40c72493ull, 0x3c9ebe0a15c9bebcull,
+ 0x431d67c49c100d4cull, 0x4cc5d4becb3e42b6ull, 0x597f299cfc657e2aull, 0x5fcb6fab3ad6faecull, 0x6c44198c4a475817ull
};
static inline uint64_t rotr(uint64_t x, uint64_t n) {
@@ -1548,14 +1549,14 @@ static void sha512(Guchar *msg, int msgLen, Guchar *hash) {
uint64_t H[8];
int blkLen = 0, i;
// setting the initial hash value.
- H[0] = 0x6a09e667f3bcc908ULL;
- H[1] = 0xbb67ae8584caa73bULL;
- H[2] = 0x3c6ef372fe94f82bULL;
- H[3] = 0xa54ff53a5f1d36f1ULL;
- H[4] = 0x510e527fade682d1ULL;
- H[5] = 0x9b05688c2b3e6c1fULL;
- H[6] = 0x1f83d9abfb41bd6bULL;
- H[7] = 0x5be0cd19137e2179ULL;
+ H[0] = 0x6a09e667f3bcc908ull;
+ H[1] = 0xbb67ae8584caa73bull;
+ H[2] = 0x3c6ef372fe94f82bull;
+ H[3] = 0xa54ff53a5f1d36f1ull;
+ H[4] = 0x510e527fade682d1ull;
+ H[5] = 0x9b05688c2b3e6c1full;
+ H[6] = 0x1f83d9abfb41bd6bull;
+ H[7] = 0x5be0cd19137e2179ull;
for (i = 0; i + 128 <= msgLen; i += 128) {
sha512HashBlock(msg + i, H);
@@ -1620,14 +1621,14 @@ static void sha384(Guchar *msg, int msgLen, Guchar *hash) {
uint64_t H[8];
int blkLen, i;
//setting initial hash values
- H[0] = 0xcbbb9d5dc1059ed8ULL;
- H[1] = 0x629a292a367cd507ULL;
- H[2] = 0x9159015a3070dd17ULL;
- H[3] = 0x152fecd8f70e5939ULL;
- H[4] = 0x67332667ffc00b31ULL;
- H[5] = 0x8eb44a8768581511ULL;
- H[6] = 0xdb0c2e0d64f98fa7ULL;
- H[7] = 0x47b5481dbefa4fa4ULL;
+ H[0] = 0xcbbb9d5dc1059ed8ull;
+ H[1] = 0x629a292a367cd507ull;
+ H[2] = 0x9159015a3070dd17ull;
+ H[3] = 0x152fecd8f70e5939ull;
+ H[4] = 0x67332667ffc00b31ull;
+ H[5] = 0x8eb44a8768581511ull;
+ H[6] = 0xdb0c2e0d64f98fa7ull;
+ H[7] = 0x47b5481dbefa4fa4ull;
//SHA 384 will use the same sha512HashBlock function.
blkLen = 0;
for (i = 0; i + 128 <= msgLen; i += 128) {
diff --git a/Build/source/libs/poppler/poppler-src/poppler/Gfx.cc b/Build/source/libs/poppler/poppler-src/poppler/Gfx.cc
index cc6b66d767f..7d748b9ea17 100644
--- a/Build/source/libs/poppler/poppler-src/poppler/Gfx.cc
+++ b/Build/source/libs/poppler/poppler-src/poppler/Gfx.cc
@@ -4046,6 +4046,7 @@ void Gfx::doShowText(GooString *s) {
curX += tdx;
curY += tdy;
state->moveTo(curX, curY);
+ out->updateCTM(state, 0, 0, 0, 0, 0, 0);
p += n;
len -= n;
}
diff --git a/Build/source/libs/poppler/poppler-src/poppler/GfxFont.cc b/Build/source/libs/poppler/poppler-src/poppler/GfxFont.cc
index 81f59037f7f..ea23e03a534 100644
--- a/Build/source/libs/poppler/poppler-src/poppler/GfxFont.cc
+++ b/Build/source/libs/poppler/poppler-src/poppler/GfxFont.cc
@@ -30,7 +30,7 @@
// Copyright (C) 2012 Yi Yang <ahyangyi@gmail.com>
// Copyright (C) 2012 Suzuki Toshiya <mpsuzuki@hiroshima-u.ac.jp>
// Copyright (C) 2012 Thomas Freitag <Thomas.Freitag@alfa.de>
-// Copyright (C) 2013-2015 Jason Crain <jason@aquaticape.us>
+// Copyright (C) 2013-2016 Jason Crain <jason@aquaticape.us>
// Copyright (C) 2014 Olly Betts <olly@survex.com>
//
// To see a description of the changes please see the Changelog file that
@@ -118,6 +118,10 @@ static const Base14FontMapEntry base14FontMap[] = {
{ "Symbol,Bold", "Symbol" },
{ "Symbol,BoldItalic", "Symbol" },
{ "Symbol,Italic", "Symbol" },
+ { "SymbolMT", "Symbol" },
+ { "SymbolMT,Bold", "Symbol" },
+ { "SymbolMT,BoldItalic", "Symbol" },
+ { "SymbolMT,Italic", "Symbol" },
{ "Times-Bold", "Times-Bold" },
{ "Times-BoldItalic", "Times-BoldItalic" },
{ "Times-Italic", "Times-Italic" },
diff --git a/Build/source/libs/poppler/poppler-src/poppler/GfxState.cc b/Build/source/libs/poppler/poppler-src/poppler/GfxState.cc
index 25196b40be8..d3ea481d19e 100644
--- a/Build/source/libs/poppler/poppler-src/poppler/GfxState.cc
+++ b/Build/source/libs/poppler/poppler-src/poppler/GfxState.cc
@@ -16,7 +16,7 @@
// Copyright (C) 2005 Kristian Høgsberg <krh@redhat.com>
// Copyright (C) 2006, 2007 Jeff Muizelaar <jeff@infidigm.net>
// Copyright (C) 2006, 2010 Carlos Garcia Campos <carlosgc@gnome.org>
-// Copyright (C) 2006-2015 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2006-2016 Albert Astals Cid <aacid@kde.org>
// Copyright (C) 2009, 2012 Koji Otani <sho@bbr.jp>
// Copyright (C) 2009, 2011-2016 Thomas Freitag <Thomas.Freitag@alfa.de>
// Copyright (C) 2009 Christian Persch <chpe@gnome.org>
@@ -2033,7 +2033,6 @@ GfxColorSpace *GfxICCBasedColorSpace::parse(Array *arr, OutputDev *out, GfxState
#ifdef USE_CMS
arr->get(1, &obj1);
- dict = obj1.streamGetDict();
Guchar *profBuf;
Stream *iccStream = obj1.getStream();
int length = 0;
@@ -5548,7 +5547,7 @@ GfxPatchMeshShading *GfxPatchMeshShading::parse(GfxResources *res, int typeA, Di
p->x[1][0] = x[7];
p->y[1][0] = y[7];
for (j = 0; j < nComps; ++j) {
- p->color[0][1].c[j] = patchesA[nPatchesA-1].color[1][0].c[j];
+ p->color[0][0].c[j] = patchesA[nPatchesA-1].color[1][0].c[j];
p->color[0][1].c[j] = patchesA[nPatchesA-1].color[0][0].c[j];
p->color[1][1].c[j] = c[0][j];
p->color[1][0].c[j] = c[1][j];
diff --git a/Build/source/libs/poppler/poppler-src/poppler/Makefile.am b/Build/source/libs/poppler/poppler-src/poppler/Makefile.am
index df64dbfa4cf..3eef543a356 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 59:0:0 \
+ -version-info 61:0:0 \
@create_shared_lib@ \
@auto_import_flags@
diff --git a/Build/source/libs/poppler/poppler-src/poppler/PDFDoc.cc b/Build/source/libs/poppler/poppler-src/poppler/PDFDoc.cc
index f052772ec08..9fc43e53b7e 100644
--- a/Build/source/libs/poppler/poppler-src/poppler/PDFDoc.cc
+++ b/Build/source/libs/poppler/poppler-src/poppler/PDFDoc.cc
@@ -544,10 +544,50 @@ Linearization *PDFDoc::getLinearization()
{
if (!linearization) {
linearization = new Linearization(str);
+ linearizationState = 0;
}
return linearization;
}
+GBool PDFDoc::checkLinearization() {
+ if (linearization == NULL)
+ return gFalse;
+ if (linearizationState == 1)
+ return gTrue;
+ if (linearizationState == 2)
+ return gFalse;
+ if (!hints) {
+ hints = new Hints(str, linearization, getXRef(), secHdlr);
+ }
+ for (int page = 1; page <= linearization->getNumPages(); page++) {
+ Object obj;
+ Ref pageRef;
+
+ pageRef.num = hints->getPageObjectNum(page);
+ if (!pageRef.num) {
+ linearizationState = 2;
+ return gFalse;
+ }
+
+ // check for bogus ref - this can happen in corrupted PDF files
+ if (pageRef.num < 0 || pageRef.num >= xref->getNumObjects()) {
+ linearizationState = 2;
+ return gFalse;
+ }
+
+ pageRef.gen = xref->getEntry(pageRef.num)->gen;
+ xref->fetch(pageRef.num, pageRef.gen, &obj);
+ if (!obj.isDict("Page")) {
+ obj.free();
+ linearizationState = 2;
+ return gFalse;
+ }
+ obj.free();
+ }
+ linearizationState = 1;
+ return gTrue;
+}
+
GBool PDFDoc::isLinearized(GBool tryingToReconstruct) {
if ((str->getLength()) &&
(getLinearization()->getLength() == str->getLength()))
@@ -1963,7 +2003,7 @@ Page *PDFDoc::getPage(int page)
{
if ((page < 1) || page > getNumPages()) return NULL;
- if (isLinearized()) {
+ if (isLinearized() && checkLinearization()) {
pdfdocLocker();
if (!pageCache) {
pageCache = (Page **) gmallocn(getNumPages(), sizeof(Page *));
diff --git a/Build/source/libs/poppler/poppler-src/poppler/PDFDoc.h b/Build/source/libs/poppler/poppler-src/poppler/PDFDoc.h
index 0bb15c4b3e6..3a65ecb85ec 100644
--- a/Build/source/libs/poppler/poppler-src/poppler/PDFDoc.h
+++ b/Build/source/libs/poppler/poppler-src/poppler/PDFDoc.h
@@ -22,7 +22,7 @@
// Copyright (C) 2009 Kovid Goyal <kovid@kovidgoyal.net>
// Copyright (C) 2010, 2014 Hib Eris <hib@hiberis.nl>
// Copyright (C) 2010 Srinivas Adicherla <srinivas.adicherla@geodesic.com>
-// Copyright (C) 2011, 2013, 2014 Thomas Freitag <Thomas.Freitag@alfa.de>
+// Copyright (C) 2011, 2013, 2014, 2016 Thomas Freitag <Thomas.Freitag@alfa.de>
// Copyright (C) 2012 Fabio D'Urso <fabiodurso@hotmail.it>
// Copyright (C) 2013 Adrian Johnson <ajohnson@redneon.com>
// Copyright (C) 2013 Adam Reichold <adamreichold@myopera.com>
@@ -111,6 +111,7 @@ public:
// Get the linearization table.
Linearization *getLinearization();
+ GBool checkLinearization();
// Get the xref table.
XRef *getXRef() { return xref; }
@@ -324,6 +325,10 @@ private:
int pdfMajorVersion;
int pdfMinorVersion;
Linearization *linearization;
+ // linearizationState = 0: unchecked
+ // linearizationState = 1: checked and valid
+ // linearizationState = 2: checked and invalid
+ int linearizationState;
XRef *xref;
SecurityHandler *secHdlr;
Catalog *catalog;
diff --git a/Build/source/libs/poppler/poppler-src/poppler/PSOutputDev.cc b/Build/source/libs/poppler/poppler-src/poppler/PSOutputDev.cc
index a260727bf44..204f16e85f3 100644
--- a/Build/source/libs/poppler/poppler-src/poppler/PSOutputDev.cc
+++ b/Build/source/libs/poppler/poppler-src/poppler/PSOutputDev.cc
@@ -15,7 +15,7 @@
//
// Copyright (C) 2005 Martin Kretzschmar <martink@gnome.org>
// Copyright (C) 2005, 2006 Kristian Høgsberg <krh@redhat.com>
-// Copyright (C) 2006-2009, 2011-2013, 2015 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2006-2009, 2011-2013, 2015, 2016 Albert Astals Cid <aacid@kde.org>
// Copyright (C) 2006 Jeff Muizelaar <jeff@infidigm.net>
// Copyright (C) 2007, 2008 Brad Hards <bradh@kde.org>
// Copyright (C) 2008, 2009 Koji Otani <sho@bbr.jp>
@@ -7656,8 +7656,10 @@ GooString* PSOutputDev::filterPSLabel(GooString *label, GBool *needParens) {
} else if (c == '(') {
label2->append("\\(");
} else if (c < 0x20 || c > 0x7e) {
- label2->append(GooString::format("\\{0:03o}", c));
+ GooString *aux = GooString::format("\\{0:03o}", c);
+ label2->append(aux);
j += 4;
+ delete aux;
} else {
label2->append(c);
++j;
diff --git a/Build/source/libs/poppler/poppler-src/poppler/PageLabelInfo_p.h b/Build/source/libs/poppler/poppler-src/poppler/PageLabelInfo_p.h
index 6cd5220d372..34823cc6ba4 100644
--- a/Build/source/libs/poppler/poppler-src/poppler/PageLabelInfo_p.h
+++ b/Build/source/libs/poppler/poppler-src/poppler/PageLabelInfo_p.h
@@ -75,7 +75,7 @@ static void toRoman(int number, GooString *str, GBool uppercase) {
const char *wh;
if (number >= 4000) {
- error(errUnimplemented, -1, "Conversion to roman numberals of numbers >= 4000 not implemented");
+ error(errUnimplemented, -1, "Conversion to roman numerals of numbers >= 4000 not implemented");
return;
}
diff --git a/Build/source/libs/poppler/poppler-src/poppler/SignatureHandler.cc b/Build/source/libs/poppler/poppler-src/poppler/SignatureHandler.cc
index 96de8f3266a..a5132a489d1 100644
--- a/Build/source/libs/poppler/poppler-src/poppler/SignatureHandler.cc
+++ b/Build/source/libs/poppler/poppler-src/poppler/SignatureHandler.cc
@@ -6,7 +6,7 @@
//
// Copyright 2015, 2016 André Guerreiro <aguerreiro1985@gmail.com>
// Copyright 2015 André Esser <bepandre@hotmail.com>
-// Copyright 2015 Albert Astals Cid <aacid@kde.org>
+// Copyright 2015, 2016 Albert Astals Cid <aacid@kde.org>
// Copyright 2015 Markus Kilås <digital@markuspage.com>
//
//========================================================================
@@ -82,6 +82,7 @@ GooString *SignatureHandler::getDefaultFirefoxCertDB_Linux()
} while (subFolder != NULL);
closedir(toSearchIn);
+ delete homePath;
return NULL;
}
diff --git a/Build/source/libs/poppler/poppler-src/poppler/SplashOutputDev.cc b/Build/source/libs/poppler/poppler-src/poppler/SplashOutputDev.cc
index 13d090c601a..eeb6cc38b0e 100644
--- a/Build/source/libs/poppler/poppler-src/poppler/SplashOutputDev.cc
+++ b/Build/source/libs/poppler/poppler-src/poppler/SplashOutputDev.cc
@@ -15,7 +15,7 @@
//
// Copyright (C) 2005 Takashi Iwai <tiwai@suse.de>
// Copyright (C) 2006 Stefan Schweizer <genstef@gentoo.org>
-// Copyright (C) 2006-2015 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2006-2016 Albert Astals Cid <aacid@kde.org>
// Copyright (C) 2006 Krzysztof Kowalczyk <kkowalczyk@gmail.com>
// Copyright (C) 2006 Scott Turner <scotty1024@mac.com>
// Copyright (C) 2007 Koji Otani <sho@bbr.jp>
@@ -36,6 +36,7 @@
// Copyright (C) 2014 Richard PALO <richard@netbsd.org>
// Copyright (C) 2015 Tamas Szekeres <szekerest@gmail.com>
// Copyright (C) 2015 Kenji Uno <ku@digitaldolphins.jp>
+// Copyright (C) 2016 Takahiro Hashimoto <kenya888.en@gmail.com>
//
// 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
@@ -94,6 +95,13 @@ extern "C" int unlink(char *filename);
#endif
#endif
+#if __cplusplus > 199711L
+#include <cmath>
+#ifndef isfinite
+#define isfinite(x) std::isfinite(x)
+#endif
+#endif
+
static inline void convertGfxColor(SplashColorPtr dest,
SplashColorMode colorMode,
GfxColorSpace *colorSpace,
@@ -2052,6 +2060,7 @@ void SplashOutputDev::doUpdateFont(GfxState *state) {
reload:
delete id;
delete fontLoc;
+ fontLoc = NULL;
if (fontsrc && !fontsrc->isFile)
fontsrc->unref();
diff --git a/Build/source/libs/poppler/poppler-src/poppler/TextOutputDev.cc b/Build/source/libs/poppler/poppler-src/poppler/TextOutputDev.cc
index afd89597f2b..cf39bd88ab7 100644
--- a/Build/source/libs/poppler/poppler-src/poppler/TextOutputDev.cc
+++ b/Build/source/libs/poppler/poppler-src/poppler/TextOutputDev.cc
@@ -20,7 +20,7 @@
// Copyright (C) 2006 Jeff Muizelaar <jeff@infidigm.net>
// Copyright (C) 2007, 2008, 2012 Adrian Johnson <ajohnson@redneon.com>
// Copyright (C) 2008 Koji Otani <sho@bbr.jp>
-// Copyright (C) 2008, 2010-2012, 2014, 2015 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2008, 2010-2012, 2014-2016 Albert Astals Cid <aacid@kde.org>
// Copyright (C) 2008 Pino Toscano <pino@kde.org>
// Copyright (C) 2008, 2010 Hib Eris <hib@hiberis.nl>
// Copyright (C) 2009 Ross Moore <ross@maths.mq.edu.au>
@@ -3763,12 +3763,12 @@ void TextPage::coalesce(GBool physLayout, double fixedPitch, GBool doHTML) {
// build the flows
//~ this needs to be adjusted for writing mode (vertical text)
//~ this also needs to account for right-to-left column ordering
- flow = NULL;
while (flows) {
flow = flows;
flows = flows->next;
delete flow;
}
+ flow = NULL;
flows = lastFlow = NULL;
// assume blocks are already in reading order,
// and construct flows accordingly.
diff --git a/Build/source/libs/poppler/poppler-src/poppler/XRef.cc b/Build/source/libs/poppler/poppler-src/poppler/XRef.cc
index 76ffc6ff95b..3d032bcb41f 100644
--- a/Build/source/libs/poppler/poppler-src/poppler/XRef.cc
+++ b/Build/source/libs/poppler/poppler-src/poppler/XRef.cc
@@ -973,7 +973,12 @@ GBool XRef::constructXRef(GBool *wasReconstructed, GBool needCatalogDict) {
do {
++p;
} while (*p && isdigit(*p & 0xff));
- if (isspace(*p & 0xff)) {
+ if ((*p & 0xff) == 0 || isspace(*p & 0xff)) {
+ if ((*p & 0xff) == 0) {
+ //new line, continue with next line!
+ str->getLine(buf, 256);
+ p = buf - 1;
+ }
do {
++p;
} while (*p && isspace(*p & 0xff));
@@ -982,7 +987,12 @@ GBool XRef::constructXRef(GBool *wasReconstructed, GBool needCatalogDict) {
do {
++p;
} while (*p && isdigit(*p & 0xff));
- if (isspace(*p & 0xff)) {
+ if ((*p & 0xff) == 0 || isspace(*p & 0xff)) {
+ if ((*p & 0xff) == 0) {
+ //new line, continue with next line!
+ str->getLine(buf, 256);
+ p = buf - 1;
+ }
do {
++p;
} while (*p && isspace(*p & 0xff));
@@ -1251,6 +1261,7 @@ Object *XRef::fetch(int num, int gen, Object *obj, int recursion) {
err:
if (!xRefStream && !xrefReconstructed) {
+ error(errInternal, -1, "xref num {0:d} not found but needed, try to reconstruct\n", num);
rootNum = -1;
constructXRef(&xrefReconstructed);
return fetch(num, gen, obj, ++recursion);
diff --git a/Build/source/libs/poppler/poppler-src/splash/Splash.cc b/Build/source/libs/poppler/poppler-src/splash/Splash.cc
index 5bc7767a305..5acbe8eff9d 100644
--- a/Build/source/libs/poppler/poppler-src/splash/Splash.cc
+++ b/Build/source/libs/poppler/poppler-src/splash/Splash.cc
@@ -13,7 +13,7 @@
//
// Copyright (C) 2005-2015 Albert Astals Cid <aacid@kde.org>
// Copyright (C) 2005 Marco Pesenti Gritti <mpg@redhat.com>
-// Copyright (C) 2010-2015 Thomas Freitag <Thomas.Freitag@alfa.de>
+// Copyright (C) 2010-2016 Thomas Freitag <Thomas.Freitag@alfa.de>
// Copyright (C) 2010 Christian Feuersänger <cfeuersaenger@googlemail.com>
// Copyright (C) 2011-2013, 2015 William Bader <williambader@hotmail.com>
// Copyright (C) 2012 Markus Trippelsdorf <markus@trippelsdorf.de>
@@ -5914,7 +5914,7 @@ SplashPath *Splash::makeStrokePath(SplashPath *path, SplashCoord w,
SplashPath *pathIn, *dashPath, *pathOut;
SplashCoord d, dx, dy, wdx, wdy, dxNext, dyNext, wdxNext, wdyNext;
SplashCoord crossprod, dotprod, miter, m;
- GBool first, last, closed;
+ GBool first, last, closed, hasangle;
int subpathStart0, subpathStart1, seg, i0, i1, j0, j1, k0, k1;
int left0, left1, left2, right0, right1, right2, join0, join1, join2;
int leftFirst, rightFirst, firstPt;
@@ -6142,6 +6142,7 @@ SplashPath *pathIn, *dashPath, *pathOut;
// compute the join parameters
crossprod = dx * dyNext - dy * dxNext;
dotprod = -(dx * dxNext + dy * dyNext);
+ hasangle = crossprod != 0 || dx * dxNext < 0 || dy * dyNext < 0;
if (dotprod > 0.9999) {
// avoid a divide-by-zero -- set miter to something arbitrary
// such that sqrt(miter) will exceed miterLimit (and m is never
@@ -6161,7 +6162,7 @@ SplashPath *pathIn, *dashPath, *pathOut;
}
// round join
- if (state->lineJoin == splashLineJoinRound) {
+ if (hasangle && state->lineJoin == splashLineJoinRound) {
pathOut->moveTo(pathIn->pts[j0].x + (SplashCoord)0.5 * w,
pathIn->pts[j0].y);
pathOut->curveTo(pathIn->pts[j0].x + (SplashCoord)0.5 * w,
@@ -6189,7 +6190,7 @@ SplashPath *pathIn, *dashPath, *pathOut;
pathIn->pts[j0].x + (SplashCoord)0.5 * w,
pathIn->pts[j0].y);
- } else {
+ } else if (hasangle) {
pathOut->moveTo(pathIn->pts[j0].x, pathIn->pts[j0].y);
// angle < 180
diff --git a/Build/source/libs/poppler/version.ac b/Build/source/libs/poppler/version.ac
index 934ec8f7ec1..9ad21ab1cad 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.42.0])
+m4_define([poppler_version], [0.44.0])