texlive[43551] Build/source/libs: poppler 0.53.0

commits+kakuto at tug.org commits+kakuto at tug.org
Sun Mar 19 23:36:16 CET 2017


Revision: 43551
          http://tug.org/svn/texlive?view=revision&revision=43551
Author:   kakuto
Date:     2017-03-19 23:36:16 +0100 (Sun, 19 Mar 2017)
Log Message:
-----------
poppler 0.53.0

Modified Paths:
--------------
    trunk/Build/source/libs/README
    trunk/Build/source/libs/poppler/ChangeLog
    trunk/Build/source/libs/poppler/TLpatches/ChangeLog
    trunk/Build/source/libs/poppler/TLpatches/TL-Changes
    trunk/Build/source/libs/poppler/TLpatches/patch-02-LLONG_MAX
    trunk/Build/source/libs/poppler/TLpatches/patch-03-Object-functions
    trunk/Build/source/libs/poppler/configure
    trunk/Build/source/libs/poppler/poppler-src/CMakeLists.txt
    trunk/Build/source/libs/poppler/poppler-src/ChangeLog
    trunk/Build/source/libs/poppler/poppler-src/NEWS
    trunk/Build/source/libs/poppler/poppler-src/configure.ac
    trunk/Build/source/libs/poppler/poppler-src/fofi/FoFiIdentifier.cc
    trunk/Build/source/libs/poppler/poppler-src/fofi/FoFiTrueType.h
    trunk/Build/source/libs/poppler/poppler-src/fofi/FoFiType1.h
    trunk/Build/source/libs/poppler/poppler-src/goo/JpegWriter.h
    trunk/Build/source/libs/poppler/poppler-src/goo/NetPBMWriter.h
    trunk/Build/source/libs/poppler/poppler-src/goo/PNGWriter.cc
    trunk/Build/source/libs/poppler/poppler-src/goo/PNGWriter.h
    trunk/Build/source/libs/poppler/poppler-src/goo/TiffWriter.cc
    trunk/Build/source/libs/poppler/poppler-src/goo/TiffWriter.h
    trunk/Build/source/libs/poppler/poppler-src/poppler/Annot.h
    trunk/Build/source/libs/poppler/poppler-src/poppler/CairoFontEngine.h
    trunk/Build/source/libs/poppler/poppler-src/poppler/CairoOutputDev.cc
    trunk/Build/source/libs/poppler/poppler-src/poppler/CairoOutputDev.h
    trunk/Build/source/libs/poppler/poppler-src/poppler/DCTStream.h
    trunk/Build/source/libs/poppler/poppler-src/poppler/Decrypt.h
    trunk/Build/source/libs/poppler/poppler-src/poppler/FlateEncoder.h
    trunk/Build/source/libs/poppler/poppler-src/poppler/Form.cc
    trunk/Build/source/libs/poppler/poppler-src/poppler/Form.h
    trunk/Build/source/libs/poppler/poppler-src/poppler/Function.h
    trunk/Build/source/libs/poppler/poppler-src/poppler/GfxFont.h
    trunk/Build/source/libs/poppler/poppler-src/poppler/GfxState.cc
    trunk/Build/source/libs/poppler/poppler-src/poppler/GfxState.h
    trunk/Build/source/libs/poppler/poppler-src/poppler/GlobalParams.h
    trunk/Build/source/libs/poppler/poppler-src/poppler/JBIG2Stream.cc
    trunk/Build/source/libs/poppler/poppler-src/poppler/JBIG2Stream.h
    trunk/Build/source/libs/poppler/poppler-src/poppler/JPEG2000Stream.h
    trunk/Build/source/libs/poppler/poppler-src/poppler/Link.h
    trunk/Build/source/libs/poppler/poppler-src/poppler/LocalPDFDocBuilder.h
    trunk/Build/source/libs/poppler/poppler-src/poppler/Makefile.am
    trunk/Build/source/libs/poppler/poppler-src/poppler/MarkedContentOutputDev.h
    trunk/Build/source/libs/poppler/poppler-src/poppler/PSOutputDev.cc
    trunk/Build/source/libs/poppler/poppler-src/poppler/PSOutputDev.h
    trunk/Build/source/libs/poppler/poppler-src/poppler/PopplerCache.cc
    trunk/Build/source/libs/poppler/poppler-src/poppler/PreScanOutputDev.h
    trunk/Build/source/libs/poppler/poppler-src/poppler/SecurityHandler.h
    trunk/Build/source/libs/poppler/poppler-src/poppler/SplashOutputDev.cc
    trunk/Build/source/libs/poppler/poppler-src/poppler/SplashOutputDev.h
    trunk/Build/source/libs/poppler/poppler-src/poppler/StdinCachedFile.h
    trunk/Build/source/libs/poppler/poppler-src/poppler/StdinPDFDocBuilder.h
    trunk/Build/source/libs/poppler/poppler-src/poppler/Stream.h
    trunk/Build/source/libs/poppler/poppler-src/poppler/TextOutputDev.cc
    trunk/Build/source/libs/poppler/poppler-src/poppler/TextOutputDev.h
    trunk/Build/source/libs/poppler/poppler-src/poppler/XRef.cc
    trunk/Build/source/libs/poppler/poppler-src/poppler/XRef.h
    trunk/Build/source/libs/poppler/poppler-src/splash/SplashFTFont.h
    trunk/Build/source/libs/poppler/poppler-src/splash/SplashFTFontFile.h
    trunk/Build/source/libs/poppler/poppler-src/splash/SplashPattern.h
    trunk/Build/source/libs/poppler/version.ac

Modified: trunk/Build/source/libs/README
===================================================================
--- trunk/Build/source/libs/README	2017-03-19 22:35:40 UTC (rev 43550)
+++ trunk/Build/source/libs/README	2017-03-19 22:36:16 UTC (rev 43551)
@@ -49,7 +49,7 @@
 pixman 0.34.0 - checked 04feb16
   http://cairographics.org/releases/
 
-poppler 0.52.0 - checked 17feb17
+poppler 0.53.0 - checked 19mar17
   http://poppler.freedesktop.org/ - used by luatex and xetex
 
 potrace 1.14 - checked 22feb17

Modified: trunk/Build/source/libs/poppler/ChangeLog
===================================================================
--- trunk/Build/source/libs/poppler/ChangeLog	2017-03-19 22:35:40 UTC (rev 43550)
+++ trunk/Build/source/libs/poppler/ChangeLog	2017-03-19 22:36:16 UTC (rev 43551)
@@ -1,3 +1,8 @@
+2017-03-19  Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
+
+	Import poppler-0.53.0.
+	* version.ac: Adjust.
+
 2017-02-17  Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
 
 	Import poppler-0.52.0.

Modified: trunk/Build/source/libs/poppler/TLpatches/ChangeLog
===================================================================
--- trunk/Build/source/libs/poppler/TLpatches/ChangeLog	2017-03-19 22:35:40 UTC (rev 43550)
+++ trunk/Build/source/libs/poppler/TLpatches/ChangeLog	2017-03-19 22:36:16 UTC (rev 43551)
@@ -1,3 +1,9 @@
+2017-03-19  Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
+
+	Imported poppler-0.53.0 source tree from:
+	  http://poppler.freedesktop.org/
+	* patch-02-LLONG_MAX, patch-03-Object-functions: Adapted.
+
 2017-02-17  Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
 
 	Imported poppler-0.52.0 source tree from:

Modified: trunk/Build/source/libs/poppler/TLpatches/TL-Changes
===================================================================
--- trunk/Build/source/libs/poppler/TLpatches/TL-Changes	2017-03-19 22:35:40 UTC (rev 43550)
+++ trunk/Build/source/libs/poppler/TLpatches/TL-Changes	2017-03-19 22:36:16 UTC (rev 43551)
@@ -1,4 +1,4 @@
-Changes applied to the poppler-0.52.0 tree as obtained from:
+Changes applied to the poppler-0.53.0 tree as obtained from:
 	http://poppler.freedesktop.org/
 
 Removed:

Modified: trunk/Build/source/libs/poppler/TLpatches/patch-02-LLONG_MAX
===================================================================
--- trunk/Build/source/libs/poppler/TLpatches/patch-02-LLONG_MAX	2017-03-19 22:35:40 UTC (rev 43550)
+++ trunk/Build/source/libs/poppler/TLpatches/patch-02-LLONG_MAX	2017-03-19 22:36:16 UTC (rev 43551)
@@ -1,6 +1,6 @@
-diff -ur poppler-0.52.0.orig/goo/GooString.h poppler-0.52.0/goo/GooString.h
---- poppler-0.52.0.orig/goo/GooString.h	Tue Jan 17 06:36:57 2017
-+++ poppler-0.52.0/goo/GooString.h	Fri Feb 17 08:54:28 2017
+diff -ur poppler-0.53.0.orig/goo/GooString.h poppler-0.53.0/goo/GooString.h
+--- poppler-0.53.0.orig/goo/GooString.h	Tue Jan 17 06:36:57 2017
++++ poppler-0.53.0/goo/GooString.h	Mon Mar 20 07:18:06 2017
 @@ -36,6 +36,21 @@
  #endif
  

Modified: trunk/Build/source/libs/poppler/TLpatches/patch-03-Object-functions
===================================================================
--- trunk/Build/source/libs/poppler/TLpatches/patch-03-Object-functions	2017-03-19 22:35:40 UTC (rev 43550)
+++ trunk/Build/source/libs/poppler/TLpatches/patch-03-Object-functions	2017-03-19 22:36:16 UTC (rev 43551)
@@ -1,6 +1,6 @@
-diff -ur poppler-0.52.0.orig/poppler/Object.h poppler-0.52.0/poppler/Object.h
---- poppler-0.52.0.orig/poppler/Object.h	Tue Jan 17 06:36:58 2017
-+++ poppler-0.52.0/poppler/Object.h	Fri Feb 17 08:57:36 2017
+diff -ur poppler-0.53.0.orig/poppler/Object.h poppler-0.53.0/poppler/Object.h
+--- poppler-0.53.0.orig/poppler/Object.h	Tue Jan 17 06:36:58 2017
++++ poppler-0.53.0/poppler/Object.h	Mon Mar 20 07:20:49 2017
 @@ -148,7 +148,7 @@
    Object *initStream(Stream *streamA);
    Object *initRef(int numA, int genA)

Modified: trunk/Build/source/libs/poppler/configure
===================================================================
--- trunk/Build/source/libs/poppler/configure	2017-03-19 22:35:40 UTC (rev 43550)
+++ trunk/Build/source/libs/poppler/configure	2017-03-19 22:36:16 UTC (rev 43551)
@@ -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.52.0.
+# Generated by GNU Autoconf 2.69 for poppler (TeX Live) 0.53.0.
 #
 # Report bugs to <tex-k at tug.org>.
 #
@@ -580,8 +580,8 @@
 # Identity of this package.
 PACKAGE_NAME='poppler (TeX Live)'
 PACKAGE_TARNAME='poppler--tex-live-'
-PACKAGE_VERSION='0.52.0'
-PACKAGE_STRING='poppler (TeX Live) 0.52.0'
+PACKAGE_VERSION='0.53.0'
+PACKAGE_STRING='poppler (TeX Live) 0.53.0'
 PACKAGE_BUGREPORT='tex-k at tug.org'
 PACKAGE_URL=''
 
@@ -1306,7 +1306,7 @@
   # 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.52.0 to adapt to many kinds of systems.
+\`configure' configures poppler (TeX Live) 0.53.0 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1373,7 +1373,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of poppler (TeX Live) 0.52.0:";;
+     short | recursive ) echo "Configuration of poppler (TeX Live) 0.53.0:";;
    esac
   cat <<\_ACEOF
 
@@ -1486,7 +1486,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-poppler (TeX Live) configure 0.52.0
+poppler (TeX Live) configure 0.53.0
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2076,7 +2076,7 @@
 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.52.0, which was
+It was created by poppler (TeX Live) $as_me 0.53.0, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -3999,7 +3999,7 @@
 
 # Define the identity of the package.
  PACKAGE='poppler--tex-live-'
- VERSION='0.52.0'
+ VERSION='0.53.0'
 
 
 # Some tools Automake needs.
@@ -6578,7 +6578,7 @@
 
 
 cat >>confdefs.h <<_ACEOF
-#define POPPLER_VERSION "0.52.0"
+#define POPPLER_VERSION "0.53.0"
 _ACEOF
 
 
@@ -7272,7 +7272,7 @@
 # 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.52.0, which was
+This file was extended by poppler (TeX Live) $as_me 0.53.0, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -7338,7 +7338,7 @@
 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.52.0
+poppler (TeX Live) config.status 0.53.0
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 

Modified: trunk/Build/source/libs/poppler/poppler-src/CMakeLists.txt
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/CMakeLists.txt	2017-03-19 22:35:40 UTC (rev 43550)
+++ trunk/Build/source/libs/poppler/poppler-src/CMakeLists.txt	2017-03-19 22:36:16 UTC (rev 43551)
@@ -1,6 +1,6 @@
 project(poppler)
 
-cmake_minimum_required(VERSION 2.6.0 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR)
 
 set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules)
 
@@ -22,10 +22,12 @@
 endif()
 
 set(POPPLER_MAJOR_VERSION "0")
-set(POPPLER_MINOR_VERSION "52")
+set(POPPLER_MINOR_VERSION "53")
 set(POPPLER_MICRO_VERSION "0")
 set(POPPLER_VERSION "${POPPLER_MAJOR_VERSION}.${POPPLER_MINOR_VERSION}.${POPPLER_MICRO_VERSION}")
 
+set (CMAKE_CXX_STANDARD 11)
+
 # command line switches
 option(ENABLE_XPDF_HEADERS "Install unsupported xpdf headers." OFF)
 option(BUILD_GTK_TESTS "Whether compile the GTK+ test programs." ON)
@@ -502,7 +504,7 @@
 else(MSVC)
 add_library(poppler SHARED ${poppler_SRCS})
 endif(MSVC)
-set_target_properties(poppler PROPERTIES VERSION 66.0.0 SOVERSION 66)
+set_target_properties(poppler PROPERTIES VERSION 67.0.0 SOVERSION 67)
 target_link_libraries(poppler LINK_PRIVATE ${poppler_LIBS})
 install(TARGETS poppler RUNTIME DESTINATION bin LIBRARY DESTINATION lib${LIB_SUFFIX} ARCHIVE DESTINATION lib${LIB_SUFFIX})
 

Modified: trunk/Build/source/libs/poppler/poppler-src/ChangeLog
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/ChangeLog	2017-03-19 22:35:40 UTC (rev 43550)
+++ trunk/Build/source/libs/poppler/poppler-src/ChangeLog	2017-03-19 22:36:16 UTC (rev 43551)
@@ -1,3 +1,247 @@
+commit 411c963a9fe7d0d51bc96f046792688a020bfc66
+Author: Albert Astals Cid <aacid at kde.org>
+Date:   Sun Mar 19 12:40:37 2017 +0100
+
+    Update (C)
+
+ goo/PNGWriter.cc        | 2 +-
+ goo/PNGWriter.h         | 2 +-
+ goo/TiffWriter.cc       | 2 +-
+ goo/TiffWriter.h        | 2 +-
+ poppler/GfxState.h      | 2 +-
+ utils/ImageOutputDev.cc | 2 +-
+ utils/ImageOutputDev.h  | 2 +-
+ 7 files changed, 7 insertions(+), 7 deletions(-)
+
+commit 96333f6dcd93afadea35f9301c7a919545037ed4
+Author: Albert Astals Cid <aacid at kde.org>
+Date:   Wed Mar 8 23:33:00 2017 +0100
+
+    Add override markers
+
+ cmake/modules/PopplerMacros.cmake            |   4 +
+ fofi/FoFiIdentifier.cc                       |  42 +--
+ fofi/FoFiTrueType.h                          |   2 +-
+ fofi/FoFiType1.h                             |   2 +-
+ glib/poppler-cached-file-loader.h            |   4 +-
+ glib/poppler-input-stream.h                  |  34 +--
+ goo/JpegWriter.h                             |  10 +-
+ goo/NetPBMWriter.h                           |   8 +-
+ goo/PNGWriter.h                              |   8 +-
+ goo/TiffWriter.h                             |  10 +-
+ poppler/Annot.h                              |  50 ++--
+ poppler/CairoFontEngine.h                    |   6 +-
+ poppler/CairoOutputDev.cc                    |   2 +-
+ poppler/CairoOutputDev.h                     | 344 +++++++++++-----------
+ poppler/DCTStream.h                          |  18 +-
+ poppler/Decrypt.h                            |  24 +-
+ poppler/FlateEncoder.h                       |  16 +-
+ poppler/Form.h                               |  18 +-
+ poppler/Function.h                           |  52 ++--
+ poppler/GfxFont.h                            |  20 +-
+ poppler/GfxState.cc                          |   2 +-
+ poppler/GfxState.h                           | 366
+ +++++++++++------------
+ poppler/JBIG2Stream.cc                       |  16 +-
+ poppler/JBIG2Stream.h                        |  22 +-
+ poppler/JPEG2000Stream.h                     |  24 +-
+ poppler/Link.h                               |  66 ++---
+ poppler/LocalPDFDocBuilder.h                 |   5 +-
+ poppler/MarkedContentOutputDev.h             |  22 +-
+ poppler/PSOutputDev.cc                       |  16 +-
+ poppler/PSOutputDev.h                        | 142 ++++-----
+ poppler/PopplerCache.cc                      |   2 +-
+ poppler/PreScanOutputDev.h                   | 110 +++----
+ poppler/SecurityHandler.h                    |  30 +-
+ poppler/SplashOutputDev.cc                   |   2 +-
+ poppler/SplashOutputDev.h                    | 210 ++++++-------
+ poppler/StdinCachedFile.h                    |   5 +-
+ poppler/StdinPDFDocBuilder.h                 |   5 +-
+ poppler/Stream.h                             | 422
+ +++++++++++++--------------
+ poppler/TextOutputDev.cc                     |  38 +--
+ poppler/TextOutputDev.h                      |  46 +--
+ poppler/XRef.cc                              |   2 +-
+ poppler/XRef.h                               |  12 +-
+ qt4/CMakeLists.txt                           |   3 +
+ qt4/src/poppler-annotation.h                 |   8 +-
+ qt4/src/poppler-link.h                       |   2 +-
+ qt5/demos/abstractinfodock.h                 |   6 +-
+ qt5/demos/embeddedfiles.h                    |   6 +-
+ qt5/demos/fonts.h                            |   4 +-
+ qt5/demos/info.h                             |   4 +-
+ qt5/demos/metadata.h                         |   4 +-
+ qt5/demos/navigationtoolbar.h                |   6 +-
+ qt5/demos/optcontent.h                       |   6 +-
+ qt5/demos/pageview.h                         |   6 +-
+ qt5/demos/permissions.h                      |   4 +-
+ qt5/demos/thumbnails.h                       |   4 +-
+ qt5/demos/toc.h                              |   4 +-
+ qt5/demos/viewer.h                           |   2 +-
+ qt5/src/ArthurOutputDev.cc                   |   2 +-
+ qt5/src/ArthurOutputDev.h                    |  90 +++---
+ qt5/src/poppler-annotation.cc                |  56 ++--
+ qt5/src/poppler-annotation.h                 |  84 +++---
+ qt5/src/poppler-form.h                       |  16 +-
+ qt5/src/poppler-link-extractor-private.h     |  10 +-
+ qt5/src/poppler-link.h                       |  24 +-
+ qt5/src/poppler-optcontent.h                 |  18 +-
+ qt5/src/poppler-qiodeviceoutstream-private.h |  10 +-
+ qt5/src/poppler-qt5.h                        |   6 +-
+ qt5/tests/stress-threads-qt5.cpp             |   4 +-
+ qt5/tests/test-password-qt5.cpp              |   4 +-
+ qt5/tests/test-poppler-qt5.cpp               |   6 +-
+ splash/SplashFTFont.h                        |  12 +-
+ splash/SplashFTFontFile.h                    |   6 +-
+ splash/SplashPattern.h                       |  12 +-
+ test/gtk-test.cc                             |   6 +-
+ utils/HtmlOutputDev.h                        |  56 ++--
+ utils/ImageOutputDev.h                       |  62 ++--
+ utils/pdftohtml.cc                           |  12 +-
+ 77 files changed, 1404 insertions(+), 1400 deletions(-)
+
+commit da490581b1b4d50efdba1e25115697e17bb0ef51
+Author: Albert Astals Cid <aacid at kde.org>
+Date:   Wed Mar 8 22:07:34 2017 +0100
+
+    Compile in C++11 mode
+
+    I tried using AX_CXX_COMPILE_STDCXX_11 for the autotools side but
+    could not get it to fill CXXFLAGS or any other variable i could find,
+    help welcome
+
+ CMakeLists.txt | 4 +++-
+ configure.ac   | 1 +
+ 2 files changed, 4 insertions(+), 1 deletion(-)
+
+commit aa8633267d1d0e2079bb4a2b82bc7b36a4d306f5
+Author: Albert Astals Cid <aacid at kde.org>
+Date:   Mon Mar 6 22:45:52 2017 +0100
+
+    pdfinfo: Fix memory leak when printing JS
+
+ utils/JSInfo.cc | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit d30e66cf39ef69a81bdd91e21203c876f38d9a09
+Author: Albert Astals Cid <aacid at kde.org>
+Date:   Mon Mar 6 22:43:27 2017 +0100
+
+    pdfinfo: fix leak when printing JS
+
+ utils/JSInfo.cc | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+commit a7632c5db6875828500dce7c984ec933d5349f26
+Author: Albert Astals Cid <aacid at kde.org>
+Date:   Mon Mar 6 22:34:20 2017 +0100
+
+    pdftohtml: fix small memory leak when constructing some filenames
+
+ utils/HtmlOutputDev.cc | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+commit 8ebec831c2abea9f13761474990c0d94346c1a35
+Author: Albert Astals Cid <aacid at kde.org>
+Date:   Mon Mar 6 22:24:06 2017 +0100
+
+    SplashOutputDev: Fix memory leak when rendering images with colormap
+    and matte color
+
+ poppler/SplashOutputDev.cc | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit cfaeeadbc642a297486481d9efd6068fd9ef7ea3
+Author: Adrian Johnson <ajohnson at redneon.com>
+Date:   Sat Mar 4 10:54:29 2017 +1030
+
+    pdfimages: support 16bpc png and tiff images
+
+    bug 99988
+
+ goo/PNGWriter.cc        |  4 ++++
+ goo/PNGWriter.h         |  3 ++-
+ goo/TiffWriter.cc       |  6 ++++++
+ goo/TiffWriter.h        |  3 ++-
+ poppler/GfxState.h      |  4 ++++
+ utils/ImageOutputDev.cc | 38 +++++++++++++++++++++++++++++++++++++-
+ utils/ImageOutputDev.h  |  1 +
+ 7 files changed, 56 insertions(+), 3 deletions(-)
+
+commit 1b0653ce395242547b2b34b99034a19cd2d3ea6b
+Author: Albert Astals Cid <aacid at kde.org>
+Date:   Thu Mar 2 01:00:12 2017 +0100
+
+    Qt5: Expose Form additional actions
+
+ qt5/src/poppler-form.cc | 20 ++++++++++++++++++++
+ qt5/src/poppler-form.h  | 19 +++++++++++++++++++
+ 2 files changed, 39 insertions(+)
+
+commit a4c6433c423bd0dcc5056d9ee0375188fea9a0bc
+Author: Albert Astals Cid <aacid at kde.org>
+Date:   Thu Mar 2 00:56:43 2017 +0100
+
+    Update (C) of previous commit
+
+ poppler/Form.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 0151e6e3824a6db907d871a2e56f5c20c001b588
+Author: Albert Astals Cid <aacid at kde.org>
+Date:   Thu Mar 2 00:56:27 2017 +0100
+
+    Qt5: expose form calculate order
+
+ qt5/src/poppler-document.cc | 18 +++++++++++++++++-
+ qt5/src/poppler-qt5.h       |  9 ++++++++-
+ 2 files changed, 25 insertions(+), 2 deletions(-)
+
+commit 0ae3d40a79c25feb5cb9bce6fc8cc48c30bfd1b6
+Author: Albert Astals Cid <aacid at kde.org>
+Date:   Thu Mar 2 00:52:21 2017 +0100
+
+    Parse AcroForm CO (calculateOrder)
+
+ poppler/Form.cc | 19 +++++++++++++++++++
+ poppler/Form.h  |  4 ++++
+ 2 files changed, 23 insertions(+)
+
+commit bbfc56b3c9a1e613e6db008a56c9c3333ae1427a
+Author: Albert Astals Cid <aacid at kde.org>
+Date:   Thu Mar 2 00:45:44 2017 +0100
+
+    Make FormWidget* setters ignore isReadOnly
+
+    isReadOnly is for the user but poppler needs to be able to set the
+    value for example for fields whose value is autocalculated
+
+ poppler/Form.cc | 23 +----------------------
+ 1 file changed, 1 insertion(+), 22 deletions(-)
+
+commit f853145556a61a3d1104d6fd62261924d9fc9e50
+Author: Albert Astals Cid <aacid at kde.org>
+Date:   Sun Feb 19 23:25:47 2017 +0100
+
+    There's no config file
+
+ poppler/GlobalParams.h | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+commit c7a7c34fcb875414eb3092df84f8e8e8e523648d
+Author: Albert Astals Cid <aacid at kde.org>
+Date:   Wed Feb 15 23:26:10 2017 +0100
+
+    Poppler 0.52.0
+
+ CMakeLists.txt   |  2 +-
+ NEWS             | 16 ++++++++++++++++
+ configure.ac     |  2 +-
+ cpp/Doxyfile     |  2 +-
+ qt4/src/Doxyfile |  2 +-
+ qt5/src/Doxyfile |  2 +-
+ 6 files changed, 21 insertions(+), 5 deletions(-)
+
 commit baad9bd0406f63cffa8054c5831ccc3cb5d207e3
 Author: Albert Astals Cid <aacid at kde.org>
 Date:   Wed Feb 15 23:05:55 2017 +0100

Modified: trunk/Build/source/libs/poppler/poppler-src/NEWS
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/NEWS	2017-03-19 22:35:40 UTC (rev 43550)
+++ trunk/Build/source/libs/poppler/poppler-src/NEWS	2017-03-19 22:36:16 UTC (rev 43551)
@@ -1,3 +1,21 @@
+Release 0.53.0
+        core:
+         * Form support improvements
+         * SplashOutputDev: Fix memory leak when rendering images with colormap and matte color
+         * Minor fix in GlobalParams documentation
+
+        qt5:
+         * Expose form calculate order
+         * Expose Form additional actions
+
+        utils:
+         * pdfimages: support 16bpc png and tiff images. Bug #99988
+         * pdftohtml: fix small memory leak when constructing some filenames
+         * pdfinfo: fix leak when printing JS
+
+        build sytem:
+         * Compile in C++11 mode
+
 Release 0.52.0
         core:
          * Fix assert on reading some OCGs. Bug #99768

Modified: trunk/Build/source/libs/poppler/poppler-src/configure.ac
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/configure.ac	2017-03-19 22:35:40 UTC (rev 43550)
+++ trunk/Build/source/libs/poppler/poppler-src/configure.ac	2017-03-19 22:36:16 UTC (rev 43551)
@@ -1,5 +1,5 @@
 m4_define([poppler_version_major],[0])
-m4_define([poppler_version_minor],[52])
+m4_define([poppler_version_minor],[53])
 m4_define([poppler_version_micro],[0])
 m4_define([poppler_version],[poppler_version_major.poppler_version_minor.poppler_version_micro])
 
@@ -26,6 +26,7 @@
 #fi
 AC_PROG_CXX
 AC_PROG_INSTALL
+CXXFLAGS="$CXXFLAGS -std=c++11"
 
 dnl ##### Check for pkgconfig
 PKG_PROG_PKG_CONFIG

Modified: trunk/Build/source/libs/poppler/poppler-src/fofi/FoFiIdentifier.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/fofi/FoFiIdentifier.cc	2017-03-19 22:35:40 UTC (rev 43550)
+++ trunk/Build/source/libs/poppler/poppler-src/fofi/FoFiIdentifier.cc	2017-03-19 22:36:16 UTC (rev 43551)
@@ -69,13 +69,13 @@
 public:
 
   static MemReader *make(char *bufA, int lenA);
-  virtual ~MemReader();
-  virtual int getByte(int pos);
-  virtual GBool getU16BE(int pos, int *val);
-  virtual GBool getU32BE(int pos, Guint *val);
-  virtual GBool getU32LE(int pos, Guint *val);
-  virtual GBool getUVarBE(int pos, int size, Guint *val);
-  virtual GBool cmp(int pos, const char *s);
+  ~MemReader();
+  int getByte(int pos) override;
+  GBool getU16BE(int pos, int *val) override;
+  GBool getU32BE(int pos, Guint *val) override;
+  GBool getU32LE(int pos, Guint *val) override;
+  GBool getUVarBE(int pos, int size, Guint *val) override;
+  GBool cmp(int pos, const char *s) override;
 
 private:
 
@@ -164,13 +164,13 @@
 public:
 
   static FileReader *make(char *fileName);
-  virtual ~FileReader();
-  virtual int getByte(int pos);
-  virtual GBool getU16BE(int pos, int *val);
-  virtual GBool getU32BE(int pos, Guint *val);
-  virtual GBool getU32LE(int pos, Guint *val);
-  virtual GBool getUVarBE(int pos, int size, Guint *val);
-  virtual GBool cmp(int pos, const char *s);
+  ~FileReader();
+  int getByte(int pos) override;
+  GBool getU16BE(int pos, int *val) override;
+  GBool getU32BE(int pos, Guint *val) override;
+  GBool getU32LE(int pos, Guint *val) override;
+  GBool getUVarBE(int pos, int size, Guint *val) override;
+  GBool cmp(int pos, const char *s) override;
 
 private:
 
@@ -287,13 +287,13 @@
 public:
 
   static StreamReader *make(int (*getCharA)(void *data), void *dataA);
-  virtual ~StreamReader();
-  virtual int getByte(int pos);
-  virtual GBool getU16BE(int pos, int *val);
-  virtual GBool getU32BE(int pos, Guint *val);
-  virtual GBool getU32LE(int pos, Guint *val);
-  virtual GBool getUVarBE(int pos, int size, Guint *val);
-  virtual GBool cmp(int pos, const char *s);
+  ~StreamReader();
+  int getByte(int pos) override;
+  GBool getU16BE(int pos, int *val) override;
+  GBool getU32BE(int pos, Guint *val) override;
+  GBool getU32LE(int pos, Guint *val) override;
+  GBool getUVarBE(int pos, int size, Guint *val) override;
+  GBool cmp(int pos, const char *s) override;
 
 private:
 

Modified: trunk/Build/source/libs/poppler/poppler-src/fofi/FoFiTrueType.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/fofi/FoFiTrueType.h	2017-03-19 22:35:40 UTC (rev 43550)
+++ trunk/Build/source/libs/poppler/poppler-src/fofi/FoFiTrueType.h	2017-03-19 22:36:16 UTC (rev 43551)
@@ -53,7 +53,7 @@
   // Create a FoFiTrueType object from a file on disk.
   static FoFiTrueType *load(char *fileName, int faceIndexA=0);
 
-  virtual ~FoFiTrueType();
+  ~FoFiTrueType();
 
   // Returns true if this an OpenType font containing CFF data, false
   // if it's a TrueType font (or OpenType font with TrueType data).

Modified: trunk/Build/source/libs/poppler/poppler-src/fofi/FoFiType1.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/fofi/FoFiType1.h	2017-03-19 22:35:40 UTC (rev 43550)
+++ trunk/Build/source/libs/poppler/poppler-src/fofi/FoFiType1.h	2017-03-19 22:36:16 UTC (rev 43551)
@@ -29,7 +29,7 @@
   // Create a FoFiType1 object from a file on disk.
   static FoFiType1 *load(char *fileName);
 
-  virtual ~FoFiType1();
+  ~FoFiType1();
 
   // Return the font name.
   char *getName();

Modified: trunk/Build/source/libs/poppler/poppler-src/goo/JpegWriter.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/goo/JpegWriter.h	2017-03-19 22:35:40 UTC (rev 43550)
+++ trunk/Build/source/libs/poppler/poppler-src/goo/JpegWriter.h	2017-03-19 22:36:16 UTC (rev 43551)
@@ -39,13 +39,13 @@
   JpegWriter(Format format = RGB);
   ~JpegWriter();
 
-  bool init(FILE *f, int width, int height, int hDPI, int vDPI);
+  bool init(FILE *f, int width, int height, int hDPI, int vDPI) override;
 
-  bool writePointers(unsigned char **rowPointers, int rowCount);
-  bool writeRow(unsigned char **row);
+  bool writePointers(unsigned char **rowPointers, int rowCount) override;
+  bool writeRow(unsigned char **row) override;
 
-  bool close();
-  bool supportCMYK();
+  bool close() override;
+  bool supportCMYK() override;
 
 private:
   JpegWriter(const JpegWriter &other);

Modified: trunk/Build/source/libs/poppler/poppler-src/goo/NetPBMWriter.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/goo/NetPBMWriter.h	2017-03-19 22:35:40 UTC (rev 43550)
+++ trunk/Build/source/libs/poppler/poppler-src/goo/NetPBMWriter.h	2017-03-19 22:36:16 UTC (rev 43551)
@@ -36,12 +36,12 @@
   NetPBMWriter(Format formatA = RGB);
   ~NetPBMWriter() {};
 
-  bool init(FILE *f, int width, int height, int hDPI, int vDPI);
+  bool init(FILE *f, int width, int height, int hDPI, int vDPI) override;
 
-  bool writePointers(unsigned char **rowPointers, int rowCount);
-  bool writeRow(unsigned char **row);
+  bool writePointers(unsigned char **rowPointers, int rowCount) override;
+  bool writeRow(unsigned char **row) override;
 
-  bool close();
+  bool close() override;
 
 private:
   FILE *file;

Modified: trunk/Build/source/libs/poppler/poppler-src/goo/PNGWriter.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/goo/PNGWriter.cc	2017-03-19 22:35:40 UTC (rev 43550)
+++ trunk/Build/source/libs/poppler/poppler-src/goo/PNGWriter.cc	2017-03-19 22:36:16 UTC (rev 43551)
@@ -8,7 +8,7 @@
 // Copyright (C) 2009 Shen Liang <shenzhuxi at gmail.com>
 // Copyright (C) 2009, 2011 Albert Astals Cid <aacid at kde.org>
 // Copyright (C) 2009 Stefan Thomas <thomas at eload24.com>
-// Copyright (C) 2010, 2011, 2013 Adrian Johnson <ajohnson at redneon.com>
+// Copyright (C) 2010, 2011, 2013, 2017 Adrian Johnson <ajohnson at redneon.com>
 // Copyright (C) 2011 Thomas Klausner <wiz at danbala.tuwien.ac.at>
 // Copyright (C) 2012 Pino Toscano <pino at kde.org>
 //
@@ -117,6 +117,10 @@
       bit_depth = 8;
       color_type = PNG_COLOR_TYPE_RGB;
       break;
+    case RGB48:
+      bit_depth = 16;
+      color_type = PNG_COLOR_TYPE_RGB;
+      break;
     case RGBA:
       bit_depth = 8;
       color_type = PNG_COLOR_TYPE_RGB_ALPHA;

Modified: trunk/Build/source/libs/poppler/poppler-src/goo/PNGWriter.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/goo/PNGWriter.h	2017-03-19 22:35:40 UTC (rev 43550)
+++ trunk/Build/source/libs/poppler/poppler-src/goo/PNGWriter.h	2017-03-19 22:36:16 UTC (rev 43551)
@@ -8,7 +8,7 @@
 // Copyright (C) 2009 Shen Liang <shenzhuxi at gmail.com>
 // Copyright (C) 2009, 2011-2013 Albert Astals Cid <aacid at kde.org>
 // Copyright (C) 2009 Stefan Thomas <thomas at eload24.com>
-// Copyright (C) 2010, 2011, 2013 Adrian Johnson <ajohnson at redneon.com>
+// Copyright (C) 2010, 2011, 2013, 2017 Adrian Johnson <ajohnson at redneon.com>
 // Copyright (C) 2012 Pino Toscano <pino at kde.org>
 //
 //========================================================================
@@ -32,8 +32,9 @@
    * RGBA       - 4 bytes/pixel
    * GRAY       - 1 byte/pixel
    * MONOCHROME - 8 pixels/byte
+   * RGB48      - 6 bytes/pixel
    */
-  enum Format { RGB, RGBA, GRAY, MONOCHROME };
+  enum Format { RGB, RGBA, GRAY, MONOCHROME, RGB48 };
 
   PNGWriter(Format format = RGB);
   ~PNGWriter();
@@ -42,12 +43,12 @@
   void setSRGBProfile();
 
 
-  bool init(FILE *f, int width, int height, int hDPI, int vDPI);
+  bool init(FILE *f, int width, int height, int hDPI, int vDPI) override;
 
-  bool writePointers(unsigned char **rowPointers, int rowCount);
-  bool writeRow(unsigned char **row);
+  bool writePointers(unsigned char **rowPointers, int rowCount) override;
+  bool writeRow(unsigned char **row) override;
 
-  bool close();
+  bool close() override;
 
 private:
   PNGWriter(const PNGWriter &other);

Modified: trunk/Build/source/libs/poppler/poppler-src/goo/TiffWriter.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/goo/TiffWriter.cc	2017-03-19 22:35:40 UTC (rev 43550)
+++ trunk/Build/source/libs/poppler/poppler-src/goo/TiffWriter.cc	2017-03-19 22:36:16 UTC (rev 43551)
@@ -6,7 +6,7 @@
 //
 // Copyright (C) 2010, 2012 William Bader <williambader at hotmail.com>
 // Copyright (C) 2012 Albert Astals Cid <aacid at kde.org>
-// Copyright (C) 2012 Adrian Johnson <ajohnson at redneon.com>
+// Copyright (C) 2012, 2017 Adrian Johnson <ajohnson at redneon.com>
 // Copyright (C) 2012 Pino Toscano <pino at kde.org>
 // Copyright (C) 2014 Steven Lee <roc.sky at gmail.com>
 //
@@ -147,6 +147,12 @@
       samplesperpixel = 4;
       photometric = PHOTOMETRIC_SEPARATED;
       break;
+
+    case RGB48:
+      samplesperpixel = 3;
+      bitspersample = 16;
+      photometric = PHOTOMETRIC_RGB;
+      break;
   }
 
   // Open the file

Modified: trunk/Build/source/libs/poppler/poppler-src/goo/TiffWriter.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/goo/TiffWriter.h	2017-03-19 22:35:40 UTC (rev 43550)
+++ trunk/Build/source/libs/poppler/poppler-src/goo/TiffWriter.h	2017-03-19 22:36:16 UTC (rev 43551)
@@ -6,7 +6,7 @@
 //
 // Copyright (C) 2010, 2012 William Bader <williambader at hotmail.com>
 // Copyright (C) 2011, 2012 Albert Astals Cid <aacid at kde.org>
-// Copyright (C) 2012 Adrian Johnson <ajohnson at redneon.com>
+// Copyright (C) 2012, 2017 Adrian Johnson <ajohnson at redneon.com>
 // Copyright (C) 2012 Pino Toscano <pino at kde.org>
 //
 //========================================================================
@@ -31,8 +31,9 @@
    * GRAY                - 1 byte/pixel
    * MONOCHROME          - 8 pixels/byte
    * CMYK                - 4 bytes/pixel
+   * RGB48               - 6 bytes/pixel
    */
-  enum Format { RGB, RGBA_PREMULTIPLIED, GRAY, MONOCHROME, CMYK };
+  enum Format { RGB, RGBA_PREMULTIPLIED, GRAY, MONOCHROME, CMYK, RGB48 };
 
   TiffWriter(Format format = RGB);
   ~TiffWriter();
@@ -39,14 +40,14 @@
 
   void setCompressionString(const char *compressionStringArg);
 
-  bool init(FILE *openedFile, int width, int height, int hDPI, int vDPI);
+  bool init(FILE *openedFile, int width, int height, int hDPI, int vDPI) override;
 
-  bool writePointers(unsigned char **rowPointers, int rowCount);
-  bool writeRow(unsigned char **rowData);
+  bool writePointers(unsigned char **rowPointers, int rowCount) override;
+  bool writeRow(unsigned char **rowData) override;
 
-  bool supportCMYK() { return true; }
+  bool supportCMYK() override { return true; }
 
-  bool close();
+  bool close() override;
 
 private:
   TiffWriter(const TiffWriter &other);

Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/Annot.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/Annot.h	2017-03-19 22:35:40 UTC (rev 43550)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/Annot.h	2017-03-19 22:36:16 UTC (rev 43551)
@@ -270,8 +270,8 @@
   double getVerticalCorner() const { return verticalCorner; }
 
 private:
-  virtual AnnotBorderType getType() const { return typeArray; }
-  virtual void writeToObject(XRef *xref, Object *obj1) const;
+  AnnotBorderType getType() const override { return typeArray; }
+  void writeToObject(XRef *xref, Object *obj1) const override;
 
   double horizontalCorner;          // (Default 0)
   double verticalCorner;            // (Default 0)
@@ -289,8 +289,8 @@
   AnnotBorderBS(Dict *dict);
 
 private:
-  virtual AnnotBorderType getType() const { return typeBS; }
-  virtual void writeToObject(XRef *xref, Object *obj1) const;
+  AnnotBorderType getType() const override { return typeBS; }
+  void writeToObject(XRef *xref, Object *obj1) const override;
 
   const char *getStyleName() const;
 
@@ -725,7 +725,7 @@
 
   AnnotMarkup(PDFDoc *docA, PDFRectangle *rect);
   AnnotMarkup(PDFDoc *docA, Dict *dict, Object *obj);
-  virtual ~AnnotMarkup();
+  ~AnnotMarkup();
 
   // getters
   GooString *getLabel() const { return label; }
@@ -745,7 +745,7 @@
   void setDate(GooString *new_date);
 
 protected:
-  virtual void removeReferencedObjects();
+  void removeReferencedObjects() override;
 
   GooString *label;             // T            (Default autor)
   AnnotPopup *popup;            // Popup
@@ -787,7 +787,7 @@
   AnnotText(PDFDoc *docA, Dict *dict, Object *obj);
   ~AnnotText();
 
-  virtual void draw(Gfx *gfx, GBool printing);
+  void draw(Gfx *gfx, GBool printing) override;
 
   // getters
   GBool getOpen() const { return open; }
@@ -820,7 +820,7 @@
   AnnotMovie(PDFDoc *docA, Dict *dict, Object *obj);
   ~AnnotMovie();
 
-  virtual void draw(Gfx *gfx, GBool printing);
+  void draw(Gfx *gfx, GBool printing) override;
 
   GooString* getTitle() { return title; }
   Movie* getMovie() { return movie; }
@@ -878,9 +878,9 @@
 
   AnnotLink(PDFDoc *docA, PDFRectangle *rect);
   AnnotLink(PDFDoc *docA, Dict *dict, Object *obj);
-  virtual ~AnnotLink();
+  ~AnnotLink();
 
-  virtual void draw(Gfx *gfx, GBool printing);
+  void draw(Gfx *gfx, GBool printing) override;
 
   // getters
   LinkAction *getAction() const { return action; }
@@ -922,9 +922,9 @@
   AnnotFreeText(PDFDoc *docA, Dict *dict, Object *obj);
   ~AnnotFreeText();
 
-  virtual void draw(Gfx *gfx, GBool printing);
-  virtual Object *getAppearanceResDict(Object *dest);
-  virtual void setContents(GooString *new_content);
+  void draw(Gfx *gfx, GBool printing) override;
+  Object *getAppearanceResDict(Object *dest) override;
+  void setContents(GooString *new_content) override;
 
   void setAppearanceString(GooString *new_string);
   void setQuadding(AnnotFreeTextQuadding new_quadding);
@@ -986,9 +986,9 @@
   AnnotLine(PDFDoc *docA, Dict *dict, Object *obj);
   ~AnnotLine();
 
-  virtual void draw(Gfx *gfx, GBool printing);
-  virtual Object *getAppearanceResDict(Object *dest);
-  virtual void setContents(GooString *new_content);
+  void draw(Gfx *gfx, GBool printing) override;
+  Object *getAppearanceResDict(Object *dest) override;
+  void setContents(GooString *new_content) override;
 
   void setVertices(double x1, double y1, double x2, double y2);
   void setStartEndStyle(AnnotLineEndingStyle start, AnnotLineEndingStyle end);
@@ -1050,9 +1050,9 @@
 
   AnnotTextMarkup(PDFDoc *docA, PDFRectangle *rect, AnnotSubtype subType);
   AnnotTextMarkup(PDFDoc *docA, Dict *dict, Object *obj);
-  virtual ~AnnotTextMarkup();
+  ~AnnotTextMarkup();
 
-  virtual void draw(Gfx *gfx, GBool printing);
+  void draw(Gfx *gfx, GBool printing) override;
 
   // typeHighlight, typeUnderline, typeSquiggly or typeStrikeOut
   void setType(AnnotSubtype new_type);
@@ -1102,7 +1102,7 @@
   AnnotGeometry(PDFDoc *docA, Dict *dict, Object *obj);
   ~AnnotGeometry();
 
-  virtual void draw(Gfx *gfx, GBool printing);
+  void draw(Gfx *gfx, GBool printing) override;
 
   void setType(AnnotSubtype new_type); // typeSquare or typeCircle
   void setInteriorColor(AnnotColor *new_color);
@@ -1138,7 +1138,7 @@
   AnnotPolygon(PDFDoc *docA, Dict *dict, Object *obj);
   ~AnnotPolygon();
 
-  virtual void draw(Gfx *gfx, GBool printing);
+  void draw(Gfx *gfx, GBool printing) override;
 
   void setType(AnnotSubtype new_type); // typePolygon or typePolyLine
   void setVertices(AnnotPath *path);
@@ -1213,7 +1213,7 @@
   AnnotInk(PDFDoc *docA, Dict *dict, Object *obj);
   ~AnnotInk();
 
-  virtual void draw(Gfx *gfx, GBool printing);
+  void draw(Gfx *gfx, GBool printing) override;
 
   void setInkList(AnnotPath **paths, int n_paths);
 
@@ -1248,7 +1248,7 @@
   AnnotFileAttachment(PDFDoc *docA, Dict *dict, Object *obj);
   ~AnnotFileAttachment();
 
-  virtual void draw(Gfx *gfx, GBool printing);
+  void draw(Gfx *gfx, GBool printing) override;
 
   // getters
   Object *getFile() { return &file; }
@@ -1276,7 +1276,7 @@
   AnnotSound(PDFDoc *docA, Dict *dict, Object *obj);
   ~AnnotSound();
 
-  virtual void draw(Gfx *gfx, GBool printing);
+  void draw(Gfx *gfx, GBool printing) override;
 
   // getters
   Sound *getSound() { return sound; }
@@ -1309,9 +1309,9 @@
 
   AnnotWidget(PDFDoc *docA, Dict *dict, Object *obj);
   AnnotWidget(PDFDoc *docA, Dict *dict, Object *obj, FormField *fieldA);
-  virtual ~AnnotWidget();
+  ~AnnotWidget();
 
-  virtual void draw(Gfx *gfx, GBool printing);
+  void draw(Gfx *gfx, GBool printing) override;
 
   void drawBorder();
   void drawFormFieldButton(GfxResources *resources, GooString *da);

Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/CairoFontEngine.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/CairoFontEngine.h	2017-03-19 22:35:40 UTC (rev 43550)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/CairoFontEngine.h	2017-03-19 22:36:16 UTC (rev 43551)
@@ -74,7 +74,7 @@
 class CairoFreeTypeFont : public CairoFont {
 public:
   static CairoFreeTypeFont *create(GfxFont *gfxFont, XRef *xref, FT_Library lib, GBool useCIDs);
-  virtual ~CairoFreeTypeFont();
+  ~CairoFreeTypeFont();
 
 private:
   CairoFreeTypeFont(Ref ref, cairo_font_face_t *cairo_font_face,
@@ -88,9 +88,9 @@
   static CairoType3Font *create(GfxFont *gfxFont, PDFDoc *doc,
 				CairoFontEngine *fontEngine,
 				GBool printing, XRef *xref);
-  virtual ~CairoType3Font();
+  ~CairoType3Font();
 
-  virtual GBool matches(Ref &other, GBool printing);
+  GBool matches(Ref &other, GBool printing) override;
 
 private:
   CairoType3Font(Ref ref, PDFDoc *doc,

Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/CairoOutputDev.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/CairoOutputDev.cc	2017-03-19 22:35:40 UTC (rev 43550)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/CairoOutputDev.cc	2017-03-19 22:36:16 UTC (rev 43551)
@@ -3119,7 +3119,7 @@
     return image;
   }
 
-  void getRow(int row_num, uint32_t *row_data) {
+  void getRow(int row_num, uint32_t *row_data) override {
     int i;
     Guchar *pix;
 

Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/CairoOutputDev.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/CairoOutputDev.h	2017-03-19 22:35:40 UTC (rev 43550)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/CairoOutputDev.h	2017-03-19 22:36:16 UTC (rev 43551)
@@ -97,121 +97,121 @@
 
   // Does this device use upside-down coordinates?
   // (Upside-down means (0,0) is the top left corner of the page.)
-  virtual GBool upsideDown() { return gTrue; }
+  GBool upsideDown() override { return gTrue; }
 
   // Does this device use drawChar() or drawString()?
-  virtual GBool useDrawChar() { return gTrue; }
+  GBool useDrawChar() override { return gTrue; }
 
   // Does this device use tilingPatternFill()?  If this returns false,
   // tiling pattern fills will be reduced to a series of other drawing
   // operations.
-  virtual GBool useTilingPatternFill() { return gTrue; }
+  GBool useTilingPatternFill() override { return gTrue; }
 
   // Does this device use functionShadedFill(), axialShadedFill(), and
   // radialShadedFill()?  If this returns false, these shaded fills
   // will be reduced to a series of other drawing operations.
 #if CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 12, 0)
-  virtual GBool useShadedFills(int type) { return type <= 7; }
+  GBool useShadedFills(int type) override { return type <= 7; }
 #else
-  virtual GBool useShadedFills(int type) { return type > 1 && type < 4; }
+  GBool useShadedFills(int type) override { return type > 1 && type < 4; }
 #endif
 
   // Does this device use FillColorStop()?
-  virtual GBool useFillColorStop() { return gTrue; }
+  GBool useFillColorStop() override { return gTrue; }
 
   // Does this device use beginType3Char/endType3Char?  Otherwise,
   // text in Type 3 fonts will be drawn with drawChar/drawString.
-  virtual GBool interpretType3Chars() { return gFalse; }
+  GBool interpretType3Chars() override { return gFalse; }
 
   // Does this device need to clip pages to the crop box even when the
   // box is the crop box?
-  virtual GBool needClipToCropBox() { return gTrue; }
+  GBool needClipToCropBox() override { return gTrue; }
 
   //----- initialization and control
 
   // Start a page.
-  virtual void startPage(int pageNum, GfxState *state, XRef *xref);
+  void startPage(int pageNum, GfxState *state, XRef *xref) override;
 
   // End a page.
-  virtual void endPage();
+  void endPage() override;
 
   //----- save/restore graphics state
-  virtual void saveState(GfxState *state);
-  virtual void restoreState(GfxState *state);
+  void saveState(GfxState *state) override;
+  void restoreState(GfxState *state) override;
 
   //----- update graphics state
-  virtual void updateAll(GfxState *state);
-  virtual void setDefaultCTM(double *ctm);
-  virtual void updateCTM(GfxState *state, double m11, double m12,
-			 double m21, double m22, double m31, double m32);
-  virtual void updateLineDash(GfxState *state);
-  virtual void updateFlatness(GfxState *state);
-  virtual void updateLineJoin(GfxState *state);
-  virtual void updateLineCap(GfxState *state);
-  virtual void updateMiterLimit(GfxState *state);
-  virtual void updateLineWidth(GfxState *state);
-  virtual void updateFillColor(GfxState *state);
-  virtual void updateStrokeColor(GfxState *state);
-  virtual void updateFillOpacity(GfxState *state);
-  virtual void updateStrokeOpacity(GfxState *state);
-  virtual void updateFillColorStop(GfxState *state, double offset);
-  virtual void updateBlendMode(GfxState *state);
+  void updateAll(GfxState *state) override;
+  void setDefaultCTM(double *ctm) override;
+  void updateCTM(GfxState *state, double m11, double m12,
+		 double m21, double m22, double m31, double m32) override;
+  void updateLineDash(GfxState *state) override;
+  void updateFlatness(GfxState *state) override;
+  void updateLineJoin(GfxState *state) override;
+  void updateLineCap(GfxState *state) override;
+  void updateMiterLimit(GfxState *state) override;
+  void updateLineWidth(GfxState *state) override;
+  void updateFillColor(GfxState *state) override;
+  void updateStrokeColor(GfxState *state) override;
+  void updateFillOpacity(GfxState *state) override;
+  void updateStrokeOpacity(GfxState *state) override;
+  void updateFillColorStop(GfxState *state, double offset) override;
+  void updateBlendMode(GfxState *state) override;
 
   //----- update text state
-  virtual void updateFont(GfxState *state);
+  void updateFont(GfxState *state) override;
 
   //----- path painting
-  virtual void stroke(GfxState *state);
-  virtual void fill(GfxState *state);
-  virtual void eoFill(GfxState *state);
-  virtual void clipToStrokePath(GfxState *state);
-  virtual GBool tilingPatternFill(GfxState *state, Gfx *gfx, Catalog *cat, Object *str,
-				  double *pmat, int paintType, int tilingType, Dict *resDict,
-				  double *mat, double *bbox,
-				  int x0, int y0, int x1, int y1,
-				  double xStep, double yStep);
+  void stroke(GfxState *state) override;
+  void fill(GfxState *state) override;
+  void eoFill(GfxState *state) override;
+  void clipToStrokePath(GfxState *state) override;
+  GBool tilingPatternFill(GfxState *state, Gfx *gfx, Catalog *cat, Object *str,
+			  double *pmat, int paintType, int tilingType, Dict *resDict,
+			  double *mat, double *bbox,
+			  int x0, int y0, int x1, int y1,
+			  double xStep, double yStep) override;
 #if CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 12, 0)
-  virtual GBool functionShadedFill(GfxState *state, GfxFunctionShading *shading);
+  GBool functionShadedFill(GfxState *state, GfxFunctionShading *shading) override;
 #endif
-  virtual GBool axialShadedFill(GfxState *state, GfxAxialShading *shading, double tMin, double tMax);
-  virtual GBool axialShadedSupportExtend(GfxState *state, GfxAxialShading *shading);
-  virtual GBool radialShadedFill(GfxState *state, GfxRadialShading *shading, double sMin, double sMax);
-  virtual GBool radialShadedSupportExtend(GfxState *state, GfxRadialShading *shading);
+  GBool axialShadedFill(GfxState *state, GfxAxialShading *shading, double tMin, double tMax) override;
+  GBool axialShadedSupportExtend(GfxState *state, GfxAxialShading *shading) override;
+  GBool radialShadedFill(GfxState *state, GfxRadialShading *shading, double sMin, double sMax) override;
+  GBool radialShadedSupportExtend(GfxState *state, GfxRadialShading *shading) override;
 #if CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 12, 0)
-  virtual GBool gouraudTriangleShadedFill(GfxState *state, GfxGouraudTriangleShading *shading);
-  virtual GBool patchMeshShadedFill(GfxState *state, GfxPatchMeshShading *shading);
+  GBool gouraudTriangleShadedFill(GfxState *state, GfxGouraudTriangleShading *shading) override;
+  GBool patchMeshShadedFill(GfxState *state, GfxPatchMeshShading *shading) override;
 #endif
 
   //----- path clipping
-  virtual void clip(GfxState *state);
-  virtual void eoClip(GfxState *state);
+  void clip(GfxState *state) override;
+  void eoClip(GfxState *state) override;
 
   //----- text drawing
-  void beginString(GfxState *state, GooString *s);
-  void endString(GfxState *state);
+  void beginString(GfxState *state, GooString *s) override;
+  void endString(GfxState *state) override;
   void drawChar(GfxState *state, double x, double y,
 		double dx, double dy,
 		double originX, double originY,
-		CharCode code, int nBytes, Unicode *u, int uLen);
-  void beginActualText(GfxState *state, GooString *text);
-  void endActualText(GfxState *state);
+		CharCode code, int nBytes, Unicode *u, int uLen) override;
+  void beginActualText(GfxState *state, GooString *text) override;
+  void endActualText(GfxState *state) override;
 
-  virtual GBool beginType3Char(GfxState *state, double x, double y,
-			       double dx, double dy,
-			       CharCode code, Unicode *u, int uLen);
-  virtual void endType3Char(GfxState *state);
-  virtual void beginTextObject(GfxState *state);
-  virtual void endTextObject(GfxState *state);
+  GBool beginType3Char(GfxState *state, double x, double y,
+		       double dx, double dy,
+		       CharCode code, Unicode *u, int uLen) override;
+  void endType3Char(GfxState *state) override;
+  void beginTextObject(GfxState *state) override;
+  void endTextObject(GfxState *state) override;
 
   //----- image drawing
-  virtual void drawImageMask(GfxState *state, Object *ref, Stream *str,
-			     int width, int height, GBool invert, GBool interpolate,
-			     GBool inlineImg);
-  virtual void setSoftMaskFromImageMask(GfxState *state,
-					Object *ref, Stream *str,
-					int width, int height, GBool invert,
-					GBool inlineImg, double *baseMatrix);
-  virtual void unsetSoftMaskFromImageMask(GfxState *state, double *baseMatrix);
+  void drawImageMask(GfxState *state, Object *ref, Stream *str,
+		     int width, int height, GBool invert, GBool interpolate,
+		     GBool inlineImg) override;
+  void setSoftMaskFromImageMask(GfxState *state,
+				Object *ref, Stream *str,
+				int width, int height, GBool invert,
+				GBool inlineImg, double *baseMatrix) override;
+  void unsetSoftMaskFromImageMask(GfxState *state, double *baseMatrix) override;
   void drawImageMaskPrescaled(GfxState *state, Object *ref, Stream *str,
 			      int width, int height, GBool invert, GBool interpolate,
 			      GBool inlineImg);
@@ -219,42 +219,42 @@
 			    int width, int height, GBool invert, GBool interpolate,
 			    GBool inlineImg);
 
-  virtual void drawImage(GfxState *state, Object *ref, Stream *str,
-			 int width, int height, GfxImageColorMap *colorMap,
-			 GBool interpolate, int *maskColors, GBool inlineImg);
-  virtual void drawSoftMaskedImage(GfxState *state, Object *ref, Stream *str,
-				   int width, int height,
-				   GfxImageColorMap *colorMap,
-				   GBool interpolate,
-				   Stream *maskStr,
-				   int maskWidth, int maskHeight,
-				   GfxImageColorMap *maskColorMap,
-				   GBool maskInterpolate);
+  void drawImage(GfxState *state, Object *ref, Stream *str,
+		 int width, int height, GfxImageColorMap *colorMap,
+		 GBool interpolate, int *maskColors, GBool inlineImg) override;
+  void drawSoftMaskedImage(GfxState *state, Object *ref, Stream *str,
+			   int width, int height,
+			   GfxImageColorMap *colorMap,
+			   GBool interpolate,
+			   Stream *maskStr,
+			   int maskWidth, int maskHeight,
+			   GfxImageColorMap *maskColorMap,
+			   GBool maskInterpolate) override;
 
-  virtual void drawMaskedImage(GfxState *state, Object *ref, Stream *str,
-			       int width, int height,
-			       GfxImageColorMap *colorMap,
-			       GBool interpolate,
-			       Stream *maskStr,
-			       int maskWidth, int maskHeight,
-			       GBool maskInvert, GBool maskInterpolate);
+  void drawMaskedImage(GfxState *state, Object *ref, Stream *str,
+		       int width, int height,
+		       GfxImageColorMap *colorMap,
+		       GBool interpolate,
+		       Stream *maskStr,
+		       int maskWidth, int maskHeight,
+		       GBool maskInvert, GBool maskInterpolate) override;
 
   //----- transparency groups and soft masks
-  virtual void beginTransparencyGroup(GfxState * /*state*/, double * /*bbox*/,
+  void beginTransparencyGroup(GfxState * /*state*/, double * /*bbox*/,
                                       GfxColorSpace * /*blendingColorSpace*/,
                                       GBool /*isolated*/, GBool /*knockout*/,
-                                      GBool /*forSoftMask*/);
-  virtual void endTransparencyGroup(GfxState * /*state*/);
+                                      GBool /*forSoftMask*/) override;
+  void endTransparencyGroup(GfxState * /*state*/) override;
   void popTransparencyGroup();
-  virtual void paintTransparencyGroup(GfxState * /*state*/, double * /*bbox*/);
-  virtual void setSoftMask(GfxState * /*state*/, double * /*bbox*/, GBool /*alpha*/,
-                           Function * /*transferFunc*/, GfxColor * /*backdropColor*/);
-  virtual void clearSoftMask(GfxState * /*state*/);
+  void paintTransparencyGroup(GfxState * /*state*/, double * /*bbox*/) override;
+  void setSoftMask(GfxState * /*state*/, double * /*bbox*/, GBool /*alpha*/,
+		   Function * /*transferFunc*/, GfxColor * /*backdropColor*/) override;
+  void clearSoftMask(GfxState * /*state*/) override;
 
   //----- Type 3 font operators
-  virtual void type3D0(GfxState *state, double wx, double wy);
-  virtual void type3D1(GfxState *state, double wx, double wy,
-      double llx, double lly, double urx, double ury);
+  void type3D0(GfxState *state, double wx, double wy) override;
+  void type3D1(GfxState *state, double wx, double wy,
+	       double llx, double lly, double urx, double ury) override;
 
   //----- special access
   
@@ -388,118 +388,118 @@
 
   // Does this device use upside-down coordinates?
   // (Upside-down means (0,0) is the top left corner of the page.)
-  virtual GBool upsideDown() { return gTrue; }
+  GBool upsideDown() override { return gTrue; }
 
   // Does this device use drawChar() or drawString()?
-  virtual GBool useDrawChar() { return gFalse; }
+  GBool useDrawChar() override { return gFalse; }
 
   // Does this device use tilingPatternFill()?  If this returns false,
   // tiling pattern fills will be reduced to a series of other drawing
   // operations.
-  virtual GBool useTilingPatternFill() { return gTrue; }
+  GBool useTilingPatternFill() override { return gTrue; }
 
   // Does this device use functionShadedFill(), axialShadedFill(), and
   // radialShadedFill()?  If this returns false, these shaded fills
   // will be reduced to a series of other drawing operations.
 #if CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 11, 2)
-  virtual GBool useShadedFills(int type) { return type <= 7; }
+  GBool useShadedFills(int type) override { return type <= 7; }
 #else
-  virtual GBool useShadedFills(int type) { return type < 4; }
+  GBool useShadedFills(int type) override { return type < 4; }
 #endif
 
   // Does this device use FillColorStop()?
-  virtual GBool useFillColorStop() { return gFalse; }
+  GBool useFillColorStop() override { return gFalse; }
 
   // Does this device use beginType3Char/endType3Char?  Otherwise,
   // text in Type 3 fonts will be drawn with drawChar/drawString.
-  virtual GBool interpretType3Chars() { return gFalse; }
+  GBool interpretType3Chars() override { return gFalse; }
 
   // Does this device need non-text content?
-  virtual GBool needNonText() { return gTrue; }
+  GBool needNonText() override { return gTrue; }
 
   //----- save/restore graphics state
-  virtual void saveState(GfxState *state) { }
-  virtual void restoreState(GfxState *state) { }
+  void saveState(GfxState *state) override { }
+  void restoreState(GfxState *state) override { }
 
   //----- update graphics state
-  virtual void updateAll(GfxState *state) { }
-  virtual void setDefaultCTM(double *ctm) { }
-  virtual void updateCTM(GfxState *state, double m11, double m12,
-				 double m21, double m22, double m31, double m32) { }
-  virtual void updateLineDash(GfxState *state) { }
-  virtual void updateFlatness(GfxState *state) { }
-  virtual void updateLineJoin(GfxState *state) { }
-  virtual void updateLineCap(GfxState *state) { }
-  virtual void updateMiterLimit(GfxState *state) { }
-  virtual void updateLineWidth(GfxState *state) { }
-  virtual void updateFillColor(GfxState *state) { }
-  virtual void updateStrokeColor(GfxState *state) { }
-  virtual void updateFillOpacity(GfxState *state) { }
-  virtual void updateStrokeOpacity(GfxState *state) { }
-  virtual void updateBlendMode(GfxState *state) { }
+  void updateAll(GfxState *state) override { }
+  void setDefaultCTM(double *ctm) override { }
+  void updateCTM(GfxState *state, double m11, double m12,
+		 double m21, double m22, double m31, double m32) override { }
+  void updateLineDash(GfxState *state) override { }
+  void updateFlatness(GfxState *state) override { }
+  void updateLineJoin(GfxState *state) override { }
+  void updateLineCap(GfxState *state) override { }
+  void updateMiterLimit(GfxState *state) override { }
+  void updateLineWidth(GfxState *state) override { }
+  void updateFillColor(GfxState *state) override { }
+  void updateStrokeColor(GfxState *state) override { }
+  void updateFillOpacity(GfxState *state) override { }
+  void updateStrokeOpacity(GfxState *state) override { }
+  void updateBlendMode(GfxState *state) override { }
 
   //----- update text state
-  virtual void updateFont(GfxState *state) { }
+  void updateFont(GfxState *state) override { }
 
   //----- path painting
-  virtual void stroke(GfxState *state) { }
-  virtual void fill(GfxState *state) { }
-  virtual void eoFill(GfxState *state) { }
-  virtual void clipToStrokePath(GfxState *state) { }
-  virtual GBool tilingPatternFill(GfxState *state, Gfx *gfx, Catalog *cat, Object *str,
-				  double *pmat, int paintType, int tilingType, Dict *resDict,
-				  double *mat, double *bbox,
-				  int x0, int y0, int x1, int y1,
-				  double xStep, double yStep) { return gTrue; }
-  virtual GBool axialShadedFill(GfxState *state,
-				GfxAxialShading *shading,
-				double tMin, double tMax) { return gTrue; }
-  virtual GBool radialShadedFill(GfxState *state,
-				 GfxRadialShading *shading,
-				 double sMin, double sMax) { return gTrue; }
+  void stroke(GfxState *state) override { }
+  void fill(GfxState *state) override { }
+  void eoFill(GfxState *state) override { }
+  void clipToStrokePath(GfxState *state) override { }
+  GBool tilingPatternFill(GfxState *state, Gfx *gfx, Catalog *cat, Object *str,
+			  double *pmat, int paintType, int tilingType, Dict *resDict,
+			  double *mat, double *bbox,
+			  int x0, int y0, int x1, int y1,
+			  double xStep, double yStep) override { return gTrue; }
+  GBool axialShadedFill(GfxState *state,
+			GfxAxialShading *shading,
+			double tMin, double tMax) override { return gTrue; }
+  GBool radialShadedFill(GfxState *state,
+			 GfxRadialShading *shading,
+			 double sMin, double sMax) override { return gTrue; }
 
   //----- path clipping
-  virtual void clip(GfxState *state) { }
-  virtual void eoClip(GfxState *state) { }
+  void clip(GfxState *state) override { }
+  void eoClip(GfxState *state) override { }
 
   //----- image drawing
-  virtual void drawImageMask(GfxState *state, Object *ref, Stream *str,
-			     int width, int height, GBool invert,
-			     GBool interpolate, GBool inlineImg);
-  virtual void drawImage(GfxState *state, Object *ref, Stream *str,
-			 int width, int height, GfxImageColorMap *colorMap,
-			 GBool interpolate, int *maskColors, GBool inlineImg);
-  virtual void drawSoftMaskedImage(GfxState *state, Object *ref, Stream *str,
-				   int width, int height,
-				   GfxImageColorMap *colorMap,
-				   GBool interpolate,
-				   Stream *maskStr,
-				   int maskWidth, int maskHeight,
-				   GfxImageColorMap *maskColorMap,
-				   GBool maskInterpolate);
-  virtual void drawMaskedImage(GfxState *state, Object *ref, Stream *str,
-			       int width, int height,
-			       GfxImageColorMap *colorMap,
-			       GBool interpolate,
-			       Stream *maskStr,
-			       int maskWidth, int maskHeight,
-			       GBool maskInvert, GBool maskInterpolate);
-  virtual void setSoftMaskFromImageMask(GfxState *state, Object *ref, Stream *str,
-                                        int width, int height, GBool invert,
-                                        GBool inlineImg, double *baseMatrix);
-  virtual void unsetSoftMaskFromImageMask(GfxState *state, double *baseMatrix) {}
+  void drawImageMask(GfxState *state, Object *ref, Stream *str,
+		     int width, int height, GBool invert,
+		     GBool interpolate, GBool inlineImg) override;
+  void drawImage(GfxState *state, Object *ref, Stream *str,
+		 int width, int height, GfxImageColorMap *colorMap,
+		 GBool interpolate, int *maskColors, GBool inlineImg) override;
+  void drawSoftMaskedImage(GfxState *state, Object *ref, Stream *str,
+			   int width, int height,
+			   GfxImageColorMap *colorMap,
+			   GBool interpolate,
+			   Stream *maskStr,
+			   int maskWidth, int maskHeight,
+			   GfxImageColorMap *maskColorMap,
+			   GBool maskInterpolate) override;
+  void drawMaskedImage(GfxState *state, Object *ref, Stream *str,
+		       int width, int height,
+		       GfxImageColorMap *colorMap,
+		       GBool interpolate,
+		       Stream *maskStr,
+		       int maskWidth, int maskHeight,
+		       GBool maskInvert, GBool maskInterpolate) override;
+  void setSoftMaskFromImageMask(GfxState *state, Object *ref, Stream *str,
+				int width, int height, GBool invert,
+				GBool inlineImg, double *baseMatrix) override;
+  void unsetSoftMaskFromImageMask(GfxState *state, double *baseMatrix) override {}
 
 
   //----- transparency groups and soft masks
-  virtual void beginTransparencyGroup(GfxState * /*state*/, double * /*bbox*/,
-				      GfxColorSpace * /*blendingColorSpace*/,
-				      GBool /*isolated*/, GBool /*knockout*/,
-				      GBool /*forSoftMask*/) {}
-  virtual void endTransparencyGroup(GfxState * /*state*/) {}
-  virtual void paintTransparencyGroup(GfxState * /*state*/, double * /*bbox*/) {}
-  virtual void setSoftMask(GfxState * /*state*/, double * /*bbox*/, GBool /*alpha*/,
-			   Function * /*transferFunc*/, GfxColor * /*backdropColor*/) {}
-  virtual void clearSoftMask(GfxState * /*state*/) {}
+  void beginTransparencyGroup(GfxState * /*state*/, double * /*bbox*/,
+			      GfxColorSpace * /*blendingColorSpace*/,
+			      GBool /*isolated*/, GBool /*knockout*/,
+			      GBool /*forSoftMask*/) override {}
+  void endTransparencyGroup(GfxState * /*state*/) override {}
+  void paintTransparencyGroup(GfxState * /*state*/, double * /*bbox*/) override {}
+  void setSoftMask(GfxState * /*state*/, double * /*bbox*/, GBool /*alpha*/,
+		   Function * /*transferFunc*/, GfxColor * /*backdropColor*/) override {}
+  void clearSoftMask(GfxState * /*state*/) override {}
 
   //----- Image list
   // By default images are not rendred

Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/DCTStream.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/DCTStream.h	2017-03-19 22:35:40 UTC (rev 43550)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/DCTStream.h	2017-03-19 22:36:16 UTC (rev 43551)
@@ -65,19 +65,19 @@
 public:
 
   DCTStream(Stream *strA, int colorXformA, Object *dict, int recursion);
-  virtual ~DCTStream();
-  virtual StreamKind getKind() { return strDCT; }
-  virtual void reset();
-  virtual int getChar();
-  virtual int lookChar();
-  virtual GooString *getPSFilter(int psLevel, const char *indent);
-  virtual GBool isBinary(GBool last = gTrue);
+  ~DCTStream();
+  StreamKind getKind() override { return strDCT; }
+  void reset() override;
+  int getChar() override;
+  int lookChar() override;
+  GooString *getPSFilter(int psLevel, const char *indent) override;
+  GBool isBinary(GBool last = gTrue) override;
 
 private:
   void init();
 
-  virtual GBool hasGetChars() { return true; }
-  virtual int getChars(int nChars, Guchar *buffer);
+  GBool hasGetChars() override { return true; }
+  int getChars(int nChars, Guchar *buffer) override;
 
   int colorXform;
   JSAMPLE *current;

Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/Decrypt.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/Decrypt.h	2017-03-19 22:35:40 UTC (rev 43550)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/Decrypt.h	2017-03-19 22:36:16 UTC (rev 43551)
@@ -105,14 +105,14 @@
 
   BaseCryptStream(Stream *strA, Guchar *fileKey, CryptAlgorithm algoA,
                   int keyLength, int objNum, int objGen);
-  virtual ~BaseCryptStream();
-  virtual StreamKind getKind() { return strCrypt; }
-  virtual void reset();
-  virtual int getChar();
-  virtual int lookChar() = 0;
-  virtual Goffset getPos();
-  virtual GBool isBinary(GBool last);
-  virtual Stream *getUndecodedStream() { return this; }
+  ~BaseCryptStream();
+  StreamKind getKind() override { return strCrypt; }
+  void reset() override;
+  int getChar() override;
+  int lookChar() override = 0;
+  Goffset getPos() override;
+  GBool isBinary(GBool last) override;
+  Stream *getUndecodedStream() override { return this; }
   void setAutoDelete(GBool val);
 
 protected:
@@ -140,8 +140,8 @@
   EncryptStream(Stream *strA, Guchar *fileKey, CryptAlgorithm algoA,
                 int keyLength, int objNum, int objGen);
   ~EncryptStream();
-  virtual void reset();
-  virtual int lookChar();
+  void reset() override;
+  int lookChar() override;
 };
 
 class DecryptStream : public BaseCryptStream {
@@ -150,8 +150,8 @@
   DecryptStream(Stream *strA, Guchar *fileKey, CryptAlgorithm algoA,
                 int keyLength, int objNum, int objGen);
   ~DecryptStream();
-  virtual void reset();
-  virtual int lookChar();
+  void reset() override;
+  int lookChar() override;
 };
  
 //------------------------------------------------------------------------

Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/FlateEncoder.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/FlateEncoder.h	2017-03-19 22:35:40 UTC (rev 43550)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/FlateEncoder.h	2017-03-19 22:36:16 UTC (rev 43551)
@@ -44,16 +44,16 @@
 public:
 
   FlateEncoder(Stream *strA);
-  virtual ~FlateEncoder();
-  virtual StreamKind getKind() { return strWeird; }
-  virtual void reset();
-  virtual int getChar()
+  ~FlateEncoder();
+  StreamKind getKind() override { return strWeird; }
+  void reset() override;
+  int getChar() override
     { return (outBufPtr >= outBufEnd && !fillBuf()) ? EOF : (*outBufPtr++ & 0xff); }
-  virtual int lookChar()
+  int lookChar() override
     { return (outBufPtr >= outBufEnd && !fillBuf()) ? EOF : (*outBufPtr & 0xff); }
-  virtual GooString *getPSFilter(int psLevel, const char *indent) { return NULL; }
-  virtual GBool isBinary(GBool last = gTrue) { return gTrue; }
-  virtual GBool isEncoder() { return gTrue; }
+  GooString *getPSFilter(int psLevel, const char *indent) override { return NULL; }
+  GBool isBinary(GBool last = gTrue) override { return gTrue; }
+  GBool isEncoder() override { return gTrue; }
 
 private:
 

Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/Form.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/Form.cc	2017-03-19 22:35:40 UTC (rev 43550)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/Form.cc	2017-03-19 22:36:16 UTC (rev 43551)
@@ -5,7 +5,7 @@
 // This file is licensed under the GPLv2 or later
 //
 // Copyright 2006-2008 Julien Rebetez <julienr at svn.gnome.org>
-// Copyright 2007-2012, 2015, 2016 Albert Astals Cid <aacid at kde.org>
+// Copyright 2007-2012, 2015-2017 Albert Astals Cid <aacid at kde.org>
 // Copyright 2007-2008, 2011 Carlos Garcia Campos <carlosgc at gnome.org>
 // Copyright 2007, 2013, 2016 Adrian Johnson <ajohnson at redneon.com>
 // Copyright 2007 Iñigo Martínez <inigomartinez at gmail.com>
@@ -317,11 +317,6 @@
 
 void FormWidgetText::setContent(GooString* new_content)
 {
-  if (isReadOnly()) {
-    error(errInternal, -1, "FormWidgetText::setContentCopy called on a read only field\n");
-    return;
-  }
-
   parent()->setContentCopy(new_content);
 }
 
@@ -351,10 +346,6 @@
 
 void FormWidgetChoice::select (int i)
 {
-  if (isReadOnly()) {
-    error(errInternal, -1, "FormWidgetChoice::select called on a read only field\n");
-    return;
-  }
   if (!_checkRange(i)) return;
   parent()->select(i);
 }
@@ -361,10 +352,6 @@
 
 void FormWidgetChoice::toggle (int i)
 {
-  if (isReadOnly()) {
-    error(errInternal, -1, "FormWidgetChoice::toggle called on a read only field\n");
-    return;
-  }
   if (!_checkRange(i)) return;
   parent()->toggle(i);
 }
@@ -371,10 +358,6 @@
 
 void FormWidgetChoice::deselectAll ()
 {
-  if (isReadOnly()) {
-    error(errInternal, -1, "FormWidgetChoice::deselectAll called on a read only field\n");
-    return;
-  }
   parent()->deselectAll();
 }
 
@@ -401,10 +384,6 @@
 
 void FormWidgetChoice::setEditChoice (GooString* new_content)
 {
-  if (isReadOnly()) {
-    error(errInternal, -1, "FormWidgetText::setEditChoice called on a read only field\n");
-    return;
-  }
   if (!hasEdit()) {
     error(errInternal, -1, "FormFieldChoice::setEditChoice : trying to edit an non-editable choice\n");
     return;
@@ -1661,6 +1640,25 @@
   }
   obj1.free ();
 
+  acroForm->dictLookup("CO", &obj1);
+  if (obj1.isArray()) {
+    Array *array = obj1.getArray();
+    calculateOrder.reserve(array->getLength());
+    for(int i=0; i<array->getLength(); i++) {
+      Object oref;
+      array->getNF(i, &oref);
+      if (!oref.isRef()) {
+        error(errSyntaxWarning, -1, "Direct object in CO");
+        oref.free();
+        continue;
+      }
+      calculateOrder.push_back(oref.getRef());
+
+      oref.free();
+    }
+  }
+  obj1.free ();
+
 #ifdef DEBUG_FORMS
   for (int i = 0; i < numFields; i++)
     rootFields[i]->printTree();

Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/Form.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/Form.h	2017-03-19 22:35:40 UTC (rev 43550)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/Form.h	2017-03-19 22:36:16 UTC (rev 43551)
@@ -6,7 +6,7 @@
 //
 // Copyright 2006 Julien Rebetez <julienr at svn.gnome.org>
 // Copyright 2007, 2008, 2011 Carlos Garcia Campos <carlosgc at gnome.org>
-// Copyright 2007-2010, 2012, 2015, 2016 Albert Astals Cid <aacid at kde.org>
+// Copyright 2007-2010, 2012, 2015-2017 Albert Astals Cid <aacid at kde.org>
 // Copyright 2010 Mark Riedesel <mark at klowner.com>
 // Copyright 2011 Pino Toscano <pino at kde.org>
 // Copyright 2012 Fabio D'Urso <fabiodurso at hotmail.it>
@@ -165,7 +165,7 @@
 
   char* getOnStr();
   void setAppearanceState(const char *state);
-  void updateWidgetAppearance();
+  void updateWidgetAppearance() override;
 
 protected:
   FormFieldButton *parent() const;
@@ -187,7 +187,7 @@
   //except a UTF16BE string
   void setContent(GooString* new_content);
 
-  void updateWidgetAppearance();
+  void updateWidgetAppearance() override;
 
   bool isMultiline () const; 
   bool isPassword () const; 
@@ -228,7 +228,7 @@
 
   GooString* getEditChoice ();
 
-  void updateWidgetAppearance();
+  void updateWidgetAppearance() override;
   bool isSelected (int i);
 
   bool isCombo () const; 
@@ -249,7 +249,7 @@
 class FormWidgetSignature: public FormWidget {
 public:
   FormWidgetSignature(PDFDoc *docA, Object *dict, unsigned num, Ref ref, FormField *p);
-  void updateWidgetAppearance();
+  void updateWidgetAppearance() override;
 
   SignatureInfo *validateSignature(bool doVerifyCert, bool forceRevalidation);
 };
@@ -350,7 +350,7 @@
 
   char *getAppearanceState() { return appearanceState.isName() ? appearanceState.getName() : NULL; }
 
-  void fillChildrenSiblingsID ();
+  void fillChildrenSiblingsID () override;
   
   void setNumSiblings (int num);
   void setSibling (int i, FormFieldButton *id) { siblings[i] = id; }
@@ -363,7 +363,7 @@
   void print(int indent = 0);
 #endif
 
-  virtual ~FormFieldButton();
+  ~FormFieldButton();
 protected:
   void updateState(char *state);
 
@@ -389,7 +389,7 @@
   GooString* getContent () { return content; }
   GooString* getContentCopy ();
   void setContentCopy (GooString* new_content);
-  virtual ~FormFieldText();
+  ~FormFieldText();
 
   bool isMultiline () const { return multiline; }
   bool isPassword () const { return password; }
@@ -424,7 +424,7 @@
 public:
   FormFieldChoice(PDFDoc *docA, Object *aobj, const Ref& ref, FormField *parent, std::set<int> *usedParents);
 
-  virtual ~FormFieldChoice();
+  ~FormFieldChoice();
 
   int getNumChoices() { return numChoices; }
   GooString* getChoice(int i) { return choices ? choices[i].optionName : NULL; }
@@ -495,7 +495,7 @@
 
   SignatureInfo *validateSignature(bool doVerifyCert, bool forceRevalidation);
 
-  virtual ~FormFieldSignature();
+  ~FormFieldSignature();
 
 private:
   void parseInfo();
@@ -540,6 +540,9 @@
   FormWidget* findWidgetByRef (Ref aref);
 
   void postWidgetsLoad();
+
+  const std::vector<Ref> &getCalculateOrder() const { return calculateOrder; }
+
 private:
   FormField** rootFields;
   int numFields;
@@ -550,6 +553,7 @@
   GBool needAppearances;
   GfxResources *defaultResources;
   Object resDict;
+  std::vector<Ref> calculateOrder;
 
   // Variable Text
   GooString *defaultAppearance;

Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/Function.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/Function.h	2017-03-19 22:35:40 UTC (rev 43550)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/Function.h	2017-03-19 22:36:16 UTC (rev 43551)
@@ -109,11 +109,11 @@
 public:
 
   IdentityFunction();
-  virtual ~IdentityFunction();
-  virtual Function *copy() { return new IdentityFunction(); }
-  virtual int getType() { return -1; }
-  virtual void transform(double *in, double *out);
-  virtual GBool isOk() { return gTrue; }
+  ~IdentityFunction();
+  Function *copy() override { return new IdentityFunction(); }
+  int getType() override { return -1; }
+  void transform(double *in, double *out) override;
+  GBool isOk() override { return gTrue; }
 
 private:
 };
@@ -126,12 +126,12 @@
 public:
 
   SampledFunction(Object *funcObj, Dict *dict);
-  virtual ~SampledFunction();
-  virtual Function *copy() { return new SampledFunction(this); }
-  virtual int getType() { return 0; }
-  virtual void transform(double *in, double *out);
-  virtual GBool isOk() { return ok; }
-  virtual GBool hasDifferentResultSet(Function *func);
+  ~SampledFunction();
+  Function *copy() override { return new SampledFunction(this); }
+  int getType() override { return 0; }
+  void transform(double *in, double *out) override;
+  GBool isOk() override { return ok; }
+  GBool hasDifferentResultSet(Function *func) override;
 
   int getSampleSize(int i) { return sampleSize[i]; }
   double getEncodeMin(int i) { return encode[i][0]; }
@@ -170,11 +170,11 @@
 public:
 
   ExponentialFunction(Object *funcObj, Dict *dict);
-  virtual ~ExponentialFunction();
-  virtual Function *copy() { return new ExponentialFunction(this); }
-  virtual int getType() { return 2; }
-  virtual void transform(double *in, double *out);
-  virtual GBool isOk() { return ok; }
+  ~ExponentialFunction();
+  Function *copy() override { return new ExponentialFunction(this); }
+  int getType() override { return 2; }
+  void transform(double *in, double *out) override;
+  GBool isOk() override { return ok; }
 
   double *getC0() { return c0; }
   double *getC1() { return c1; }
@@ -199,11 +199,11 @@
 public:
 
   StitchingFunction(Object *funcObj, Dict *dict, std::set<int> *usedParents);
-  virtual ~StitchingFunction();
-  virtual Function *copy() { return new StitchingFunction(this); }
-  virtual int getType() { return 3; }
-  virtual void transform(double *in, double *out);
-  virtual GBool isOk() { return ok; }
+  ~StitchingFunction();
+  Function *copy() override { return new StitchingFunction(this); }
+  int getType() override { return 3; }
+  void transform(double *in, double *out) override;
+  GBool isOk() override { return ok; }
 
   int getNumFuncs() { return k; }
   Function *getFunc(int i) { return funcs[i]; }
@@ -231,11 +231,11 @@
 public:
 
   PostScriptFunction(Object *funcObj, Dict *dict);
-  virtual ~PostScriptFunction();
-  virtual Function *copy() { return new PostScriptFunction(this); }
-  virtual int getType() { return 4; }
-  virtual void transform(double *in, double *out);
-  virtual GBool isOk() { return ok; }
+  ~PostScriptFunction();
+  Function *copy() override { return new PostScriptFunction(this); }
+  int getType() override { return 4; }
+  void transform(double *in, double *out) override;
+  GBool isOk() override { return ok; }
 
   GooString *getCodeString() { return codeString; }
 

Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/GfxFont.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/GfxFont.h	2017-03-19 22:35:40 UTC (rev 43550)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/GfxFont.h	2017-03-19 22:36:16 UTC (rev 43551)
@@ -322,15 +322,15 @@
   Gfx8BitFont(XRef *xref, const char *tagA, Ref idA, GooString *nameA,
 	      GfxFontType typeA, Ref embFontIDA, Dict *fontDict);
 
-  virtual int getNextChar(char *s, int len, CharCode *code,
+  int getNextChar(char *s, int len, CharCode *code,
 			  Unicode **u, int *uLen,
-			  double *dx, double *dy, double *ox, double *oy);
+			  double *dx, double *dy, double *ox, double *oy) override;
 
   // Return the encoding.
   char **getEncoding() { return enc; }
 
   // Return the Unicode map.
-  CharCodeToUnicode *getToUnicode();
+  CharCodeToUnicode *getToUnicode() override;
 
   // Return the character name associated with <code>.
   char *getCharName(int code) { return enc[code]; }
@@ -358,7 +358,7 @@
   Dict *getResources();
 
 private:
-  virtual ~Gfx8BitFont();
+  ~Gfx8BitFont();
 
   const Base14FontMapEntry *base14;	// for Base-14 fonts only; NULL otherwise
   char *enc[256];		// char code --> char name
@@ -384,17 +384,17 @@
   GfxCIDFont(XRef *xref, const char *tagA, Ref idA, GooString *nameA,
 	     GfxFontType typeA, Ref embFontIDA, Dict *fontDict);
 
-  virtual GBool isCIDFont() { return gTrue; }
+  GBool isCIDFont() override { return gTrue; }
 
-  virtual int getNextChar(char *s, int len, CharCode *code,
+  int getNextChar(char *s, int len, CharCode *code,
 			  Unicode **u, int *uLen,
-			  double *dx, double *dy, double *ox, double *oy);
+			  double *dx, double *dy, double *ox, double *oy) override;
 
   // Return the writing mode (0=horizontal, 1=vertical).
-  virtual int getWMode();
+  int getWMode() override;
 
   // Return the Unicode map.
-  CharCodeToUnicode *getToUnicode();
+  CharCodeToUnicode *getToUnicode() override;
 
   // Get the collection name (<registry>-<ordering>).
   GooString *getCollection();
@@ -409,7 +409,7 @@
   double getWidth(char* s, int len);
 
 private:
-  virtual ~GfxCIDFont();
+  ~GfxCIDFont();
 
   int mapCodeToGID(FoFiTrueType *ff, int cmapi,
     Unicode unicode, GBool wmode);

Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/GfxState.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/GfxState.cc	2017-03-19 22:35:40 UTC (rev 43550)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/GfxState.cc	2017-03-19 22:36:16 UTC (rev 43551)
@@ -1855,7 +1855,7 @@
     {
     }
     
-    bool operator==(const PopplerCacheKey &key) const
+    bool operator==(const PopplerCacheKey &key) const override
     {
       const GfxICCBasedColorSpaceKey *k = static_cast<const GfxICCBasedColorSpaceKey*>(&key);
       return k->num == num && k->gen == gen;

Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/GfxState.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/GfxState.h	2017-03-19 22:35:40 UTC (rev 43550)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/GfxState.h	2017-03-19 22:36:16 UTC (rev 43551)
@@ -22,7 +22,7 @@
 // Copyright (C) 2011 Andrea Canciani <ranma42 at gmail.com>
 // Copyright (C) 2011-2014, 2016 Thomas Freitag <Thomas.Freitag at alfa.de>
 // Copyright (C) 2013 Lu Wang <coolwanglu at gmail.com>
-// Copyright (C) 2015 Adrian Johnson <ajohnson at redneon.com>
+// Copyright (C) 2015, 2017 Adrian Johnson <ajohnson at redneon.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
@@ -132,6 +132,10 @@
   return (Guchar)(((x << 8) - x + 0x8000) >> 16);
 }
 
+static inline Gushort colToShort(GfxColorComp x) {
+  return (Gushort)(x);
+}
+
 //------------------------------------------------------------------------
 // GfxColor
 //------------------------------------------------------------------------
@@ -288,28 +292,28 @@
 public:
 
   GfxDeviceGrayColorSpace();
-  virtual ~GfxDeviceGrayColorSpace();
-  virtual GfxColorSpace *copy();
-  virtual GfxColorSpaceMode getMode() { return csDeviceGray; }
+  ~GfxDeviceGrayColorSpace();
+  GfxColorSpace *copy() override;
+  GfxColorSpaceMode getMode() override { return csDeviceGray; }
 
-  virtual void getGray(GfxColor *color, GfxGray *gray);
-  virtual void getRGB(GfxColor *color, GfxRGB *rgb);
-  virtual void getCMYK(GfxColor *color, GfxCMYK *cmyk);
-  virtual void getDeviceN(GfxColor *color, GfxColor *deviceN);
-  virtual void getGrayLine(Guchar *in, Guchar *out, int length);
-  virtual void getRGBLine(Guchar *in, unsigned int *out, int length);
-  virtual void getRGBLine(Guchar *in, Guchar *out, int length);
-  virtual void getRGBXLine(Guchar *in, Guchar *out, int length);
-  virtual void getCMYKLine(Guchar *in, Guchar *out, int length);
-  virtual void getDeviceNLine(Guchar *in, Guchar *out, int length);
+  void getGray(GfxColor *color, GfxGray *gray) override;
+  void getRGB(GfxColor *color, GfxRGB *rgb) override;
+  void getCMYK(GfxColor *color, GfxCMYK *cmyk) override;
+  void getDeviceN(GfxColor *color, GfxColor *deviceN) override;
+  void getGrayLine(Guchar *in, Guchar *out, int length) override;
+  void getRGBLine(Guchar *in, unsigned int *out, int length) override;
+  void getRGBLine(Guchar *in, Guchar *out, int length) override;
+  void getRGBXLine(Guchar *in, Guchar *out, int length) override;
+  void getCMYKLine(Guchar *in, Guchar *out, int length) override;
+  void getDeviceNLine(Guchar *in, Guchar *out, int length) override;
 
-  virtual GBool useGetRGBLine() { return gTrue; }
-  virtual GBool useGetGrayLine() { return gTrue; }
-  virtual GBool useGetCMYKLine() { return gTrue; }
-  virtual GBool useGetDeviceNLine() { return gTrue; }
+  GBool useGetRGBLine() override { return gTrue; }
+  GBool useGetGrayLine() override { return gTrue; }
+  GBool useGetCMYKLine() override { return gTrue; }
+  GBool useGetDeviceNLine() override { return gTrue; }
 
-  virtual int getNComps() { return 1; }
-  virtual void getDefaultColor(GfxColor *color);
+  int getNComps() override { return 1; }
+  void getDefaultColor(GfxColor *color) override;
 
 private:
 };
@@ -322,20 +326,20 @@
 public:
 
   GfxCalGrayColorSpace();
-  virtual ~GfxCalGrayColorSpace();
-  virtual GfxColorSpace *copy();
-  virtual GfxColorSpaceMode getMode() { return csCalGray; }
+  ~GfxCalGrayColorSpace();
+  GfxColorSpace *copy() override;
+  GfxColorSpaceMode getMode() override { return csCalGray; }
 
   // Construct a CalGray color space.  Returns NULL if unsuccessful.
   static GfxColorSpace *parse(Array *arr, GfxState *state);
 
-  virtual void getGray(GfxColor *color, GfxGray *gray);
-  virtual void getRGB(GfxColor *color, GfxRGB *rgb);
-  virtual void getCMYK(GfxColor *color, GfxCMYK *cmyk);
-  virtual void getDeviceN(GfxColor *color, GfxColor *deviceN);
+  void getGray(GfxColor *color, GfxGray *gray) override;
+  void getRGB(GfxColor *color, GfxRGB *rgb) override;
+  void getCMYK(GfxColor *color, GfxCMYK *cmyk) override;
+  void getDeviceN(GfxColor *color, GfxColor *deviceN) override;
 
-  virtual int getNComps() { return 1; }
-  virtual void getDefaultColor(GfxColor *color);
+  int getNComps() override { return 1; }
+  void getDefaultColor(GfxColor *color) override;
 
   // CalGray-specific access.
   double getWhiteX() { return whiteX; }
@@ -366,28 +370,28 @@
 public:
 
   GfxDeviceRGBColorSpace();
-  virtual ~GfxDeviceRGBColorSpace();
-  virtual GfxColorSpace *copy();
-  virtual GfxColorSpaceMode getMode() { return csDeviceRGB; }
+  ~GfxDeviceRGBColorSpace();
+  GfxColorSpace *copy() override;
+  GfxColorSpaceMode getMode() override { return csDeviceRGB; }
 
-  virtual void getGray(GfxColor *color, GfxGray *gray);
-  virtual void getRGB(GfxColor *color, GfxRGB *rgb);
-  virtual void getCMYK(GfxColor *color, GfxCMYK *cmyk);
-  virtual void getDeviceN(GfxColor *color, GfxColor *deviceN);
-  virtual void getGrayLine(Guchar *in, Guchar *out, int length);
-  virtual void getRGBLine(Guchar *in, unsigned int *out, int length);
-  virtual void getRGBLine(Guchar *in, Guchar *out, int length);
-  virtual void getRGBXLine(Guchar *in, Guchar *out, int length);
-  virtual void getCMYKLine(Guchar *in, Guchar *out, int length);
-  virtual void getDeviceNLine(Guchar *in, Guchar *out, int length);
+  void getGray(GfxColor *color, GfxGray *gray) override;
+  void getRGB(GfxColor *color, GfxRGB *rgb) override;
+  void getCMYK(GfxColor *color, GfxCMYK *cmyk) override;
+  void getDeviceN(GfxColor *color, GfxColor *deviceN) override;
+  void getGrayLine(Guchar *in, Guchar *out, int length) override;
+  void getRGBLine(Guchar *in, unsigned int *out, int length) override;
+  void getRGBLine(Guchar *in, Guchar *out, int length) override;
+  void getRGBXLine(Guchar *in, Guchar *out, int length) override;
+  void getCMYKLine(Guchar *in, Guchar *out, int length) override;
+  void getDeviceNLine(Guchar *in, Guchar *out, int length) override;
 
-  virtual GBool useGetRGBLine() { return gTrue; }
-  virtual GBool useGetGrayLine() { return gTrue; }
-  virtual GBool useGetCMYKLine() { return gTrue; }
-  virtual GBool useGetDeviceNLine() { return gTrue; }
+  GBool useGetRGBLine() override { return gTrue; }
+  GBool useGetGrayLine() override { return gTrue; }
+  GBool useGetCMYKLine() override { return gTrue; }
+  GBool useGetDeviceNLine() override { return gTrue; }
 
-  virtual int getNComps() { return 3; }
-  virtual void getDefaultColor(GfxColor *color);
+  int getNComps() override { return 3; }
+  void getDefaultColor(GfxColor *color) override;
 
 private:
 };
@@ -400,20 +404,20 @@
 public:
 
   GfxCalRGBColorSpace();
-  virtual ~GfxCalRGBColorSpace();
-  virtual GfxColorSpace *copy();
-  virtual GfxColorSpaceMode getMode() { return csCalRGB; }
+  ~GfxCalRGBColorSpace();
+  GfxColorSpace *copy() override;
+  GfxColorSpaceMode getMode() override { return csCalRGB; }
 
   // Construct a CalRGB color space.  Returns NULL if unsuccessful.
   static GfxColorSpace *parse(Array *arr, GfxState *state);
 
-  virtual void getGray(GfxColor *color, GfxGray *gray);
-  virtual void getRGB(GfxColor *color, GfxRGB *rgb);
-  virtual void getCMYK(GfxColor *color, GfxCMYK *cmyk);
-  virtual void getDeviceN(GfxColor *color, GfxColor *deviceN);
+  void getGray(GfxColor *color, GfxGray *gray) override;
+  void getRGB(GfxColor *color, GfxRGB *rgb) override;
+  void getCMYK(GfxColor *color, GfxCMYK *cmyk) override;
+  void getDeviceN(GfxColor *color, GfxColor *deviceN) override;
 
-  virtual int getNComps() { return 3; }
-  virtual void getDefaultColor(GfxColor *color);
+  int getNComps() override { return 3; }
+  void getDefaultColor(GfxColor *color) override;
 
   // CalRGB-specific access.
   double getWhiteX() { return whiteX; }
@@ -448,25 +452,25 @@
 public:
 
   GfxDeviceCMYKColorSpace();
-  virtual ~GfxDeviceCMYKColorSpace();
-  virtual GfxColorSpace *copy();
-  virtual GfxColorSpaceMode getMode() { return csDeviceCMYK; }
+  ~GfxDeviceCMYKColorSpace();
+  GfxColorSpace *copy() override;
+  GfxColorSpaceMode getMode() override { return csDeviceCMYK; }
 
-  virtual void getGray(GfxColor *color, GfxGray *gray);
-  virtual void getRGB(GfxColor *color, GfxRGB *rgb);
-  virtual void getCMYK(GfxColor *color, GfxCMYK *cmyk);
-  virtual void getDeviceN(GfxColor *color, GfxColor *deviceN);
-  virtual void getRGBLine(Guchar *in, unsigned int *out, int length);
-  virtual void getRGBLine(Guchar *, Guchar *out, int length);
-  virtual void getRGBXLine(Guchar *in, Guchar *out, int length);
-  virtual void getCMYKLine(Guchar *in, Guchar *out, int length);
-  virtual void getDeviceNLine(Guchar *in, Guchar *out, int length);
-  virtual GBool useGetRGBLine() { return gTrue; }
-  virtual GBool useGetCMYKLine() { return gTrue; }
-  virtual GBool useGetDeviceNLine() { return gTrue; }
+  void getGray(GfxColor *color, GfxGray *gray) override;
+  void getRGB(GfxColor *color, GfxRGB *rgb) override;
+  void getCMYK(GfxColor *color, GfxCMYK *cmyk) override;
+  void getDeviceN(GfxColor *color, GfxColor *deviceN) override;
+  void getRGBLine(Guchar *in, unsigned int *out, int length) override;
+  void getRGBLine(Guchar *, Guchar *out, int length) override;
+  void getRGBXLine(Guchar *in, Guchar *out, int length) override;
+  void getCMYKLine(Guchar *in, Guchar *out, int length) override;
+  void getDeviceNLine(Guchar *in, Guchar *out, int length) override;
+  GBool useGetRGBLine() override { return gTrue; }
+  GBool useGetCMYKLine() override { return gTrue; }
+  GBool useGetDeviceNLine() override { return gTrue; }
 
-  virtual int getNComps() { return 4; }
-  virtual void getDefaultColor(GfxColor *color);
+  int getNComps() override { return 4; }
+  void getDefaultColor(GfxColor *color) override;
 
 private:
 };
@@ -479,23 +483,23 @@
 public:
 
   GfxLabColorSpace();
-  virtual ~GfxLabColorSpace();
-  virtual GfxColorSpace *copy();
-  virtual GfxColorSpaceMode getMode() { return csLab; }
+  ~GfxLabColorSpace();
+  GfxColorSpace *copy() override;
+  GfxColorSpaceMode getMode() override { return csLab; }
 
   // Construct a Lab color space.  Returns NULL if unsuccessful.
   static GfxColorSpace *parse(Array *arr, GfxState *state);
 
-  virtual void getGray(GfxColor *color, GfxGray *gray);
-  virtual void getRGB(GfxColor *color, GfxRGB *rgb);
-  virtual void getCMYK(GfxColor *color, GfxCMYK *cmyk);
-  virtual void getDeviceN(GfxColor *color, GfxColor *deviceN);
+  void getGray(GfxColor *color, GfxGray *gray) override;
+  void getRGB(GfxColor *color, GfxRGB *rgb) override;
+  void getCMYK(GfxColor *color, GfxCMYK *cmyk) override;
+  void getDeviceN(GfxColor *color, GfxColor *deviceN) override;
 
-  virtual int getNComps() { return 3; }
-  virtual void getDefaultColor(GfxColor *color);
+  int getNComps() override { return 3; }
+  void getDefaultColor(GfxColor *color) override;
 
-  virtual void getDefaultRanges(double *decodeLow, double *decodeRange,
-				int maxImgPixel);
+  void getDefaultRanges(double *decodeLow, double *decodeRange,
+				int maxImgPixel) override;
 
   // Lab-specific access.
   double getWhiteX() { return whiteX; }
@@ -530,32 +534,32 @@
 
   GfxICCBasedColorSpace(int nCompsA, GfxColorSpace *altA,
 			Ref *iccProfileStreamA);
-  virtual ~GfxICCBasedColorSpace();
-  virtual GfxColorSpace *copy();
-  virtual GfxColorSpaceMode getMode() { return csICCBased; }
+  ~GfxICCBasedColorSpace();
+  GfxColorSpace *copy() override;
+  GfxColorSpaceMode getMode() override { return csICCBased; }
 
   // Construct an ICCBased color space.  Returns NULL if unsuccessful.
   static GfxColorSpace *parse(Array *arr, OutputDev *out, GfxState *state, int recursion);
 
-  virtual void getGray(GfxColor *color, GfxGray *gray);
-  virtual void getRGB(GfxColor *color, GfxRGB *rgb);
-  virtual void getCMYK(GfxColor *color, GfxCMYK *cmyk);
-  virtual void getDeviceN(GfxColor *color, GfxColor *deviceN);
-  virtual void getRGBLine(Guchar *in, unsigned int *out, int length);
-  virtual void getRGBLine(Guchar *in, Guchar *out, int length);
-  virtual void getRGBXLine(Guchar *in, Guchar *out, int length);
-  virtual void getCMYKLine(Guchar *in, Guchar *out, int length);
-  virtual void getDeviceNLine(Guchar *in, Guchar *out, int length);
+  void getGray(GfxColor *color, GfxGray *gray) override;
+  void getRGB(GfxColor *color, GfxRGB *rgb) override;
+  void getCMYK(GfxColor *color, GfxCMYK *cmyk) override;
+  void getDeviceN(GfxColor *color, GfxColor *deviceN) override;
+  void getRGBLine(Guchar *in, unsigned int *out, int length) override;
+  void getRGBLine(Guchar *in, Guchar *out, int length) override;
+  void getRGBXLine(Guchar *in, Guchar *out, int length) override;
+  void getCMYKLine(Guchar *in, Guchar *out, int length) override;
+  void getDeviceNLine(Guchar *in, Guchar *out, int length) override;
 
-  virtual GBool useGetRGBLine();
-  virtual GBool useGetCMYKLine();
-  virtual GBool useGetDeviceNLine();
+  GBool useGetRGBLine() override;
+  GBool useGetCMYKLine() override;
+  GBool useGetDeviceNLine() override;
 
-  virtual int getNComps() { return nComps; }
-  virtual void getDefaultColor(GfxColor *color);
+  int getNComps() override { return nComps; }
+  void getDefaultColor(GfxColor *color) override;
 
-  virtual void getDefaultRanges(double *decodeLow, double *decodeRange,
-				int maxImgPixel);
+  void getDefaultRanges(double *decodeLow, double *decodeRange,
+				int maxImgPixel) override;
 
   // ICCBased-specific access.
   GfxColorSpace *getAlt() { return alt; }
@@ -582,32 +586,32 @@
 public:
 
   GfxIndexedColorSpace(GfxColorSpace *baseA, int indexHighA);
-  virtual ~GfxIndexedColorSpace();
-  virtual GfxColorSpace *copy();
-  virtual GfxColorSpaceMode getMode() { return csIndexed; }
+  ~GfxIndexedColorSpace();
+  GfxColorSpace *copy() override;
+  GfxColorSpaceMode getMode() override { return csIndexed; }
 
   // Construct an Indexed color space.  Returns NULL if unsuccessful.
   static GfxColorSpace *parse(GfxResources *res, Array *arr, OutputDev *out, GfxState *state, int recursion);
 
-  virtual void getGray(GfxColor *color, GfxGray *gray);
-  virtual void getRGB(GfxColor *color, GfxRGB *rgb);
-  virtual void getCMYK(GfxColor *color, GfxCMYK *cmyk);
-  virtual void getDeviceN(GfxColor *color, GfxColor *deviceN);
-  virtual void getRGBLine(Guchar *in, unsigned int *out, int length);
-  virtual void getRGBLine(Guchar *in, Guchar *out, int length);
-  virtual void getRGBXLine(Guchar *in, Guchar *out, int length);
-  virtual void getCMYKLine(Guchar *in, Guchar *out, int length);
-  virtual void getDeviceNLine(Guchar *in, Guchar *out, int length);
+  void getGray(GfxColor *color, GfxGray *gray) override;
+  void getRGB(GfxColor *color, GfxRGB *rgb) override;
+  void getCMYK(GfxColor *color, GfxCMYK *cmyk) override;
+  void getDeviceN(GfxColor *color, GfxColor *deviceN) override;
+  void getRGBLine(Guchar *in, unsigned int *out, int length) override;
+  void getRGBLine(Guchar *in, Guchar *out, int length) override;
+  void getRGBXLine(Guchar *in, Guchar *out, int length) override;
+  void getCMYKLine(Guchar *in, Guchar *out, int length) override;
+  void getDeviceNLine(Guchar *in, Guchar *out, int length) override;
 
-  virtual GBool useGetRGBLine() { return gTrue; }
-  virtual GBool useGetCMYKLine() { return gTrue; }
-  virtual GBool useGetDeviceNLine() { return gTrue; }
+  GBool useGetRGBLine() override { return gTrue; }
+  GBool useGetCMYKLine() override { return gTrue; }
+  GBool useGetDeviceNLine() override { return gTrue; }
 
-  virtual int getNComps() { return 1; }
-  virtual void getDefaultColor(GfxColor *color);
+  int getNComps() override { return 1; }
+  void getDefaultColor(GfxColor *color) override;
 
-  virtual void getDefaultRanges(double *decodeLow, double *decodeRange,
-				int maxImgPixel);
+  void getDefaultRanges(double *decodeLow, double *decodeRange,
+				int maxImgPixel) override;
 
   // Indexed-specific access.
   GfxColorSpace *getBase() { return base; }
@@ -615,7 +619,7 @@
   Guchar *getLookup() { return lookup; }
   GfxColor *mapColorToBase(GfxColor *color, GfxColor *baseColor);
   Guint getOverprintMask() { return base->getOverprintMask(); }
-  virtual void createMapping(GooList *separationList, int maxSepComps)
+  void createMapping(GooList *separationList, int maxSepComps) override
     { base->createMapping(separationList, maxSepComps); }
 
 
@@ -635,24 +639,24 @@
 
   GfxSeparationColorSpace(GooString *nameA, GfxColorSpace *altA,
 			  Function *funcA);
-  virtual ~GfxSeparationColorSpace();
-  virtual GfxColorSpace *copy();
-  virtual GfxColorSpaceMode getMode() { return csSeparation; }
+  ~GfxSeparationColorSpace();
+  GfxColorSpace *copy() override;
+  GfxColorSpaceMode getMode() override { return csSeparation; }
 
   // Construct a Separation color space.  Returns NULL if unsuccessful.
   static GfxColorSpace *parse(GfxResources *res, Array *arr, OutputDev *out, GfxState *state, int recursion);
 
-  virtual void getGray(GfxColor *color, GfxGray *gray);
-  virtual void getRGB(GfxColor *color, GfxRGB *rgb);
-  virtual void getCMYK(GfxColor *color, GfxCMYK *cmyk);
-  virtual void getDeviceN(GfxColor *color, GfxColor *deviceN);
+  void getGray(GfxColor *color, GfxGray *gray) override;
+  void getRGB(GfxColor *color, GfxRGB *rgb) override;
+  void getCMYK(GfxColor *color, GfxCMYK *cmyk) override;
+  void getDeviceN(GfxColor *color, GfxColor *deviceN) override;
 
-  virtual void createMapping(GooList *separationList, int maxSepComps);
+  void createMapping(GooList *separationList, int maxSepComps) override;
 
-  virtual int getNComps() { return 1; }
-  virtual void getDefaultColor(GfxColor *color);
+  int getNComps() override { return 1; }
+  void getDefaultColor(GfxColor *color) override;
 
-  virtual GBool isNonMarking() { return nonMarking; }
+  GBool isNonMarking() override { return nonMarking; }
 
   // Separation-specific access.
   GooString *getName() { return name; }
@@ -680,24 +684,24 @@
 
   GfxDeviceNColorSpace(int nCompsA, GooString **namesA,
 		       GfxColorSpace *alt, Function *func, GooList *sepsCS);
-  virtual ~GfxDeviceNColorSpace();
-  virtual GfxColorSpace *copy();
-  virtual GfxColorSpaceMode getMode() { return csDeviceN; }
+  ~GfxDeviceNColorSpace();
+  GfxColorSpace *copy() override;
+  GfxColorSpaceMode getMode() override { return csDeviceN; }
 
   // Construct a DeviceN color space.  Returns NULL if unsuccessful.
   static GfxColorSpace *parse(GfxResources *res, Array *arr, OutputDev *out, GfxState *state, int recursion);
 
-  virtual void getGray(GfxColor *color, GfxGray *gray);
-  virtual void getRGB(GfxColor *color, GfxRGB *rgb);
-  virtual void getCMYK(GfxColor *color, GfxCMYK *cmyk);
-  virtual void getDeviceN(GfxColor *color, GfxColor *deviceN);
+  void getGray(GfxColor *color, GfxGray *gray) override;
+  void getRGB(GfxColor *color, GfxRGB *rgb) override;
+  void getCMYK(GfxColor *color, GfxCMYK *cmyk) override;
+  void getDeviceN(GfxColor *color, GfxColor *deviceN) override;
 
-  virtual void createMapping(GooList *separationList, int maxSepComps);
+  void createMapping(GooList *separationList, int maxSepComps) override;
 
-  virtual int getNComps() { return nComps; }
-  virtual void getDefaultColor(GfxColor *color);
+  int getNComps() override { return nComps; }
+  void getDefaultColor(GfxColor *color) override;
 
-  virtual GBool isNonMarking() { return nonMarking; }
+  GBool isNonMarking() override { return nonMarking; }
 
   // DeviceN-specific access.
   GooString *getColorantName(int i) { return names[i]; }
@@ -727,20 +731,20 @@
 public:
 
   GfxPatternColorSpace(GfxColorSpace *underA);
-  virtual ~GfxPatternColorSpace();
-  virtual GfxColorSpace *copy();
-  virtual GfxColorSpaceMode getMode() { return csPattern; }
+  ~GfxPatternColorSpace();
+  GfxColorSpace *copy() override;
+  GfxColorSpaceMode getMode() override { return csPattern; }
 
   // Construct a Pattern color space.  Returns NULL if unsuccessful.
   static GfxColorSpace *parse(GfxResources *res, Array *arr, OutputDev *out, GfxState *state, int recursion);
 
-  virtual void getGray(GfxColor *color, GfxGray *gray);
-  virtual void getRGB(GfxColor *color, GfxRGB *rgb);
-  virtual void getCMYK(GfxColor *color, GfxCMYK *cmyk);
-  virtual void getDeviceN(GfxColor *color, GfxColor *deviceN);
+  void getGray(GfxColor *color, GfxGray *gray) override;
+  void getRGB(GfxColor *color, GfxRGB *rgb) override;
+  void getCMYK(GfxColor *color, GfxCMYK *cmyk) override;
+  void getDeviceN(GfxColor *color, GfxColor *deviceN) override;
 
-  virtual int getNComps() { return 0; }
-  virtual void getDefaultColor(GfxColor *color);
+  int getNComps() override { return 0; }
+  void getDefaultColor(GfxColor *color) override;
 
   // Pattern-specific access.
   GfxColorSpace *getUnder() { return under; }
@@ -780,9 +784,9 @@
 public:
 
   static GfxTilingPattern *parse(Object *patObj);
-  virtual ~GfxTilingPattern();
+  ~GfxTilingPattern();
 
-  virtual GfxPattern *copy();
+  GfxPattern *copy() override;
 
   int getPaintType() { return paintType; }
   int getTilingType() { return tilingType; }
@@ -818,9 +822,9 @@
 public:
 
   static GfxShadingPattern *parse(GfxResources *res, Object *patObj, OutputDev *out, GfxState *state);
-  virtual ~GfxShadingPattern();
+  ~GfxShadingPattern();
 
-  virtual GfxPattern *copy();
+  GfxPattern *copy() override;
 
   GfxShading *getShading() { return shading; }
   double *getMatrix() { return matrix; }
@@ -880,7 +884,7 @@
 		       Function **funcsA, int nFuncsA,
 		       GBool extend0A, GBool extend1A);
   GfxUnivariateShading(GfxUnivariateShading *shading);
-  virtual ~GfxUnivariateShading();
+  ~GfxUnivariateShading();
 
   double getDomain0() { return t0; }
   double getDomain1() { return t1; }
@@ -925,11 +929,11 @@
 		     double *matrixA,
 		     Function **funcsA, int nFuncsA);
   GfxFunctionShading(GfxFunctionShading *shading);
-  virtual ~GfxFunctionShading();
+  ~GfxFunctionShading();
 
   static GfxFunctionShading *parse(GfxResources *res, Dict *dict, OutputDev *out, GfxState *state);
 
-  virtual GfxShading *copy();
+  GfxShading *copy() override;
 
   void getDomain(double *x0A, double *y0A, double *x1A, double *y1A)
     { *x0A = x0; *y0A = y0; *x1A = x1; *y1A = y1; }
@@ -959,20 +963,20 @@
 		  Function **funcsA, int nFuncsA,
 		  GBool extend0A, GBool extend1A);
   GfxAxialShading(GfxAxialShading *shading);
-  virtual ~GfxAxialShading();
+  ~GfxAxialShading();
 
   static GfxAxialShading *parse(GfxResources *res, Dict *dict, OutputDev *out, GfxState *state);
 
-  virtual GfxShading *copy();
+  GfxShading *copy() override;
 
   void getCoords(double *x0A, double *y0A, double *x1A, double *y1A)
     { *x0A = x0; *y0A = y0; *x1A = x1; *y1A = y1; }
 
-  virtual void getParameterRange(double *lower, double *upper,
+  void getParameterRange(double *lower, double *upper,
 				 double xMin, double yMin,
-				 double xMax, double yMax);
+				 double xMax, double yMax) override;
 
-  virtual double getDistance(double tMin, double tMax);
+  double getDistance(double tMin, double tMax) override;
 
 private:
 
@@ -992,21 +996,21 @@
 		   Function **funcsA, int nFuncsA,
 		   GBool extend0A, GBool extend1A);
   GfxRadialShading(GfxRadialShading *shading);
-  virtual ~GfxRadialShading();
+  ~GfxRadialShading();
 
   static GfxRadialShading *parse(GfxResources *res, Dict *dict, OutputDev *out, GfxState *state);
 
-  virtual GfxShading *copy();
+  GfxShading *copy() override;
 
   void getCoords(double *x0A, double *y0A, double *r0A,
 		 double *x1A, double *y1A, double *r1A)
     { *x0A = x0; *y0A = y0; *r0A = r0; *x1A = x1; *y1A = y1; *r1A = r1; }
 
-  virtual void getParameterRange(double *lower, double *upper,
+  void getParameterRange(double *lower, double *upper,
 				 double xMin, double yMin,
-				 double xMax, double yMax);
+				 double xMax, double yMax) override;
 
-  virtual double getDistance(double tMin, double tMax);
+  double getDistance(double tMin, double tMax) override;
 
 private:
 
@@ -1030,11 +1034,11 @@
 			    int (*trianglesA)[3], int nTrianglesA,
 			    Function **funcsA, int nFuncsA);
   GfxGouraudTriangleShading(GfxGouraudTriangleShading *shading);
-  virtual ~GfxGouraudTriangleShading();
+  ~GfxGouraudTriangleShading();
 
   static GfxGouraudTriangleShading *parse(GfxResources *res, int typeA, Dict *dict, Stream *str, OutputDev *out, GfxState *state);
 
-  virtual GfxShading *copy();
+  GfxShading *copy() override;
 
   int getNTriangles() { return nTriangles; }
 
@@ -1116,11 +1120,11 @@
   GfxPatchMeshShading(int typeA, GfxPatch *patchesA, int nPatchesA,
 		      Function **funcsA, int nFuncsA);
   GfxPatchMeshShading(GfxPatchMeshShading *shading);
-  virtual ~GfxPatchMeshShading();
+  ~GfxPatchMeshShading();
 
   static GfxPatchMeshShading *parse(GfxResources *res, int typeA, Dict *dict, Stream *str, OutputDev *out, GfxState *state);
 
-  virtual GfxShading *copy();
+  GfxShading *copy() override;
 
   int getNPatches() { return nPatches; }
   GfxPatch *getPatch(int i) { return &patches[i]; }

Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/GlobalParams.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/GlobalParams.h	2017-03-19 22:35:40 UTC (rev 43550)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/GlobalParams.h	2017-03-19 22:36:16 UTC (rev 43551)
@@ -13,7 +13,7 @@
 // All changes made under the Poppler project to this file are licensed
 // under GPL version 2 or later
 //
-// Copyright (C) 2005, 2007-2010, 2012, 2015 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2005, 2007-2010, 2012, 2015, 2017 Albert Astals Cid <aacid at kde.org>
 // Copyright (C) 2005 Jonathan Blandford <jrb at redhat.com>
 // Copyright (C) 2006 Takashi Iwai <tiwai at suse.de>
 // Copyright (C) 2006 Kristian Høgsberg <krh at redhat.com>
@@ -128,8 +128,7 @@
 class GlobalParams {
 public:
 
-  // Initialize the global parameters by attempting to read a config
-  // file.
+  // Initialize the global parameters
   GlobalParams(const char *customPopplerDataDir = NULL);
 
   ~GlobalParams();

Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/JBIG2Stream.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/JBIG2Stream.cc	2017-03-19 22:35:40 UTC (rev 43550)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/JBIG2Stream.cc	2017-03-19 22:36:16 UTC (rev 43551)
@@ -674,8 +674,8 @@
 public:
 
   JBIG2Bitmap(Guint segNumA, int wA, int hA);
-  virtual ~JBIG2Bitmap();
-  virtual JBIG2SegmentType getType() { return jbig2SegBitmap; }
+  ~JBIG2Bitmap();
+  JBIG2SegmentType getType() override { return jbig2SegBitmap; }
   JBIG2Bitmap *copy() { return new JBIG2Bitmap(0, this); }
   JBIG2Bitmap *getSlice(Guint x, Guint y, Guint wA, Guint hA);
   void expand(int newH, Guint pixel);
@@ -1046,8 +1046,8 @@
 public:
 
   JBIG2SymbolDict(Guint segNumA, Guint sizeA);
-  virtual ~JBIG2SymbolDict();
-  virtual JBIG2SegmentType getType() { return jbig2SegSymbolDict; }
+  ~JBIG2SymbolDict();
+  JBIG2SegmentType getType() override { return jbig2SegSymbolDict; }
   Guint getSize() { return size; }
   void setBitmap(Guint idx, JBIG2Bitmap *bitmap) { bitmaps[idx] = bitmap; }
   JBIG2Bitmap *getBitmap(Guint idx) { return bitmaps[idx]; }
@@ -1107,8 +1107,8 @@
 public:
 
   JBIG2PatternDict(Guint segNumA, Guint sizeA);
-  virtual ~JBIG2PatternDict();
-  virtual JBIG2SegmentType getType() { return jbig2SegPatternDict; }
+  ~JBIG2PatternDict();
+  JBIG2SegmentType getType() override { return jbig2SegPatternDict; }
   Guint getSize() { return size; }
   void setBitmap(Guint idx, JBIG2Bitmap *bitmap) { if (likely(idx < size)) bitmaps[idx] = bitmap; }
   JBIG2Bitmap *getBitmap(Guint idx) { return (idx < size) ? bitmaps[idx] : NULL; }
@@ -1148,8 +1148,8 @@
 public:
 
   JBIG2CodeTable(Guint segNumA, JBIG2HuffmanTable *tableA);
-  virtual ~JBIG2CodeTable();
-  virtual JBIG2SegmentType getType() { return jbig2SegCodeTable; }
+  ~JBIG2CodeTable();
+  JBIG2SegmentType getType() override { return jbig2SegCodeTable; }
   JBIG2HuffmanTable *getHuffTable() { return table; }
 
 private:

Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/JBIG2Stream.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/JBIG2Stream.h	2017-03-19 22:35:40 UTC (rev 43550)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/JBIG2Stream.h	2017-03-19 22:36:16 UTC (rev 43551)
@@ -48,21 +48,21 @@
 public:
 
   JBIG2Stream(Stream *strA, Object *globalsStreamA, Object *globalsStreamRefA);
-  virtual ~JBIG2Stream();
-  virtual StreamKind getKind() { return strJBIG2; }
-  virtual void reset();
-  virtual void close();
-  virtual Goffset getPos();
-  virtual int getChar();
-  virtual int lookChar();
-  virtual GooString *getPSFilter(int psLevel, const char *indent);
-  virtual GBool isBinary(GBool last = gTrue);
+  ~JBIG2Stream();
+  StreamKind getKind() override { return strJBIG2; }
+  void reset() override;
+  void close() override;
+  Goffset getPos() override;
+  int getChar() override;
+  int lookChar() override;
+  GooString *getPSFilter(int psLevel, const char *indent) override;
+  GBool isBinary(GBool last = gTrue) override;
   virtual Object *getGlobalsStream() { return &globalsStream; }
   virtual Ref getGlobalsStreamRef() { return globalsStreamRef; }
 
 private:
-  virtual GBool hasGetChars() { return true; }
-  virtual int getChars(int nChars, Guchar *buffer);
+  GBool hasGetChars() override { return true; }
+  int getChars(int nChars, Guchar *buffer) override;
 
   void readSegments();
   GBool readSymbolDictSeg(Guint segNum, Guint length,

Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/JPEG2000Stream.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/JPEG2000Stream.h	2017-03-19 22:35:40 UTC (rev 43550)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/JPEG2000Stream.h	2017-03-19 22:36:16 UTC (rev 43551)
@@ -28,16 +28,16 @@
 public:
 
   JPXStream(Stream *strA);
-  virtual ~JPXStream();
-  virtual StreamKind getKind() { return strJPX; }
-  virtual void reset();
-  virtual void close();
-  virtual Goffset getPos();
-  virtual int getChar();
-  virtual int lookChar();
-  virtual GooString *getPSFilter(int psLevel, const char *indent);
-  virtual GBool isBinary(GBool last = gTrue);
-  virtual void getImageParams(int *bitsPerComponent, StreamColorSpaceMode *csMode);
+  ~JPXStream();
+  StreamKind getKind() override { return strJPX; }
+  void reset() override;
+  void close() override;
+  Goffset getPos() override;
+  int getChar() override;
+  int lookChar() override;
+  GooString *getPSFilter(int psLevel, const char *indent) override;
+  GBool isBinary(GBool last = gTrue) override;
+  void getImageParams(int *bitsPerComponent, StreamColorSpaceMode *csMode) override;
 
   int readStream(int nChars, Guchar *buffer) {
     return str->doGetChars(nChars, buffer);
@@ -48,8 +48,8 @@
   JPXStreamPrivate *priv;
 
   void init();
-  virtual GBool hasGetChars() { return true; }
-  virtual int getChars(int nChars, Guchar *buffer);
+  GBool hasGetChars() override { return true; }
+  int getChars(int nChars, Guchar *buffer) override;
 };
 
 #endif

Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/Link.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/Link.h	2017-03-19 22:35:40 UTC (rev 43550)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/Link.h	2017-03-19 22:36:16 UTC (rev 43551)
@@ -150,13 +150,13 @@
   LinkGoTo(Object *destObj);
 
   // Destructor.
-  virtual ~LinkGoTo();
+  ~LinkGoTo();
 
   // Was the LinkGoTo created successfully?
-  virtual GBool isOk() { return dest || namedDest; }
+  GBool isOk() override { return dest || namedDest; }
 
   // Accessors.
-  virtual LinkActionKind getKind() { return actionGoTo; }
+  LinkActionKind getKind() override { return actionGoTo; }
   LinkDest *getDest() { return dest; }
   GooString *getNamedDest() { return namedDest; }
 
@@ -180,13 +180,13 @@
   LinkGoToR(Object *fileSpecObj, Object *destObj);
 
   // Destructor.
-  virtual ~LinkGoToR();
+  ~LinkGoToR();
 
   // Was the LinkGoToR created successfully?
-  virtual GBool isOk() { return fileName && (dest || namedDest); }
+  GBool isOk() override { return fileName && (dest || namedDest); }
 
   // Accessors.
-  virtual LinkActionKind getKind() { return actionGoToR; }
+  LinkActionKind getKind() override { return actionGoToR; }
   GooString *getFileName() { return fileName; }
   LinkDest *getDest() { return dest; }
   GooString *getNamedDest() { return namedDest; }
@@ -211,13 +211,13 @@
   LinkLaunch(Object *actionObj);
 
   // Destructor.
-  virtual ~LinkLaunch();
+  ~LinkLaunch();
 
   // Was the LinkLaunch created successfully?
-  virtual GBool isOk() { return fileName != NULL; }
+  GBool isOk() override { return fileName != NULL; }
 
   // Accessors.
-  virtual LinkActionKind getKind() { return actionLaunch; }
+  LinkActionKind getKind() override { return actionLaunch; }
   GooString *getFileName() { return fileName; }
   GooString *getParams() { return params; }
 
@@ -238,13 +238,13 @@
   LinkURI(Object *uriObj, GooString *baseURI);
 
   // Destructor.
-  virtual ~LinkURI();
+  ~LinkURI();
 
   // Was the LinkURI created successfully?
-  virtual GBool isOk() { return uri != NULL; }
+  GBool isOk() override { return uri != NULL; }
 
   // Accessors.
-  virtual LinkActionKind getKind() { return actionURI; }
+  LinkActionKind getKind() override { return actionURI; }
   GooString *getURI() { return uri; }
 
 private:
@@ -262,11 +262,11 @@
   // Build a LinkNamed given the action name.
   LinkNamed(Object *nameObj);
 
-  virtual ~LinkNamed();
+  ~LinkNamed();
 
-  virtual GBool isOk() { return name != NULL; }
+  GBool isOk() override { return name != NULL; }
 
-  virtual LinkActionKind getKind() { return actionNamed; }
+  LinkActionKind getKind() override { return actionNamed; }
   GooString *getName() { return name; }
 
 private:
@@ -290,10 +290,10 @@
   };
 
   LinkMovie(Object *obj);
-  virtual ~LinkMovie();
+  ~LinkMovie();
 
-  virtual GBool isOk() { return annotRef.num >= 0 || annotTitle != NULL; }
-  virtual LinkActionKind getKind() { return actionMovie; }
+  GBool isOk() override { return annotRef.num >= 0 || annotTitle != NULL; }
+  LinkActionKind getKind() override { return actionMovie; }
 
   // a movie action stores either an indirect reference to a movie annotation
   // or the movie annotation title
@@ -333,11 +333,11 @@
 
   LinkRendition(Object *Obj);
 
-  virtual ~LinkRendition();
+  ~LinkRendition();
 
-  virtual GBool isOk() { return true; }
+  GBool isOk() override { return true; }
 
-  virtual LinkActionKind getKind() { return actionRendition; }
+  LinkActionKind getKind() override { return actionRendition; }
 
   GBool hasRenditionObject() { return renditionObj.isDict(); }
   Object* getRenditionObject() { return &renditionObj; }
@@ -371,11 +371,11 @@
 
   LinkSound(Object *soundObj);
 
-  virtual ~LinkSound();
+  ~LinkSound();
 
-  virtual GBool isOk() { return sound != NULL; }
+  GBool isOk() override { return sound != NULL; }
 
-  virtual LinkActionKind getKind() { return actionSound; }
+  LinkActionKind getKind() override { return actionSound; }
 
   double getVolume() { return volume; }
   GBool getSynchronous() { return sync; }
@@ -402,11 +402,11 @@
   // Build a LinkJavaScript given the action name.
   LinkJavaScript(Object *jsObj);
 
-  virtual ~LinkJavaScript();
+  ~LinkJavaScript();
 
-  virtual GBool isOk() { return js != NULL; }
+  GBool isOk() override { return js != NULL; }
 
-  virtual LinkActionKind getKind() { return actionJavaScript; }
+  LinkActionKind getKind() override { return actionJavaScript; }
   GooString *getScript() { return js; }
 
 private:
@@ -421,11 +421,11 @@
 public:
   LinkOCGState(Object *obj);
 
-  virtual ~LinkOCGState();
+  ~LinkOCGState();
 
-  virtual GBool isOk() { return stateList != NULL; }
+  GBool isOk() override { return stateList != NULL; }
 
-  virtual LinkActionKind getKind() { return actionOCGState; }
+  LinkActionKind getKind() override { return actionOCGState; }
 
   enum State { On, Off, Toggle};
   struct StateList {
@@ -454,13 +454,13 @@
   LinkUnknown(char *actionA);
 
   // Destructor.
-  virtual ~LinkUnknown();
+  ~LinkUnknown();
 
   // Was the LinkUnknown create successfully?
-  virtual GBool isOk() { return action != NULL; }
+  GBool isOk() override { return action != NULL; }
 
   // Accessors.
-  virtual LinkActionKind getKind() { return actionUnknown; }
+  LinkActionKind getKind() override { return actionUnknown; }
   GooString *getAction() { return action; }
 
 private:

Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/LocalPDFDocBuilder.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/LocalPDFDocBuilder.h	2017-03-19 22:35:40 UTC (rev 43550)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/LocalPDFDocBuilder.h	2017-03-19 22:36:16 UTC (rev 43551)
@@ -23,10 +23,9 @@
 class LocalPDFDocBuilder : public PDFDocBuilder {
 
 public:
-
   PDFDoc *buildPDFDoc(const GooString &uri, GooString *ownerPassword = NULL,
-    GooString *userPassword = NULL, void *guiDataA = NULL);
-  GBool supports(const GooString &uri);
+                      GooString *userPassword = NULL, void *guiDataA = NULL) override;
+  GBool supports(const GooString &uri) override;
 
 };
 

Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/Makefile.am
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/Makefile.am	2017-03-19 22:35:40 UTC (rev 43550)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/Makefile.am	2017-03-19 22:36:16 UTC (rev 43551)
@@ -327,7 +327,7 @@
 	$(win32_libs)
 
 libpoppler_la_LDFLAGS =				\
-	-version-info 66:0:0			\
+	-version-info 67:0:0			\
 	@create_shared_lib@			\
 	@auto_import_flags@
 

Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/MarkedContentOutputDev.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/MarkedContentOutputDev.h	2017-03-19 22:35:40 UTC (rev 43550)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/MarkedContentOutputDev.h	2017-03-19 22:36:16 UTC (rev 43551)
@@ -89,24 +89,24 @@
   virtual ~MarkedContentOutputDev();
 
   virtual GBool isOk() { return gTrue; }
-  virtual GBool upsideDown() { return gTrue; }
-  virtual GBool useDrawChar() { return gTrue; }
-  virtual GBool interpretType3Chars() { return gFalse; }
-  virtual GBool needNonText() { return gFalse; }
-  virtual GBool needCharCount() { return gFalse; }
+  GBool upsideDown() override { return gTrue; }
+  GBool useDrawChar() override { return gTrue; }
+  GBool interpretType3Chars() override { return gFalse; }
+  GBool needNonText() override { return gFalse; }
+  GBool needCharCount() override { return gFalse; }
 
-  virtual void startPage(int pageNum, GfxState *state, XRef *xref);
-  virtual void endPage();
+  void startPage(int pageNum, GfxState *state, XRef *xref) override;
+  void endPage() override;
 
-  virtual void drawChar(GfxState *state,
+  void drawChar(GfxState *state,
                         double xx, double yy,
                         double dx, double dy,
                         double ox, double oy,
                         CharCode c, int nBytes,
-                        Unicode *u, int uLen);
+                        Unicode *u, int uLen) override;
 
-  virtual void beginMarkedContent(char *name, Dict *properties);
-  virtual void endMarkedContent(GfxState *state);
+  void beginMarkedContent(char *name, Dict *properties) override;
+  void endMarkedContent(GfxState *state) override;
 
   const TextSpanArray& getTextSpans() const;
 

Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/PSOutputDev.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/PSOutputDev.cc	2017-03-19 22:35:40 UTC (rev 43550)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/PSOutputDev.cc	2017-03-19 22:36:16 UTC (rev 43551)
@@ -989,16 +989,16 @@
 
   DeviceNRecoder(Stream *strA, int widthA, int heightA,
 		 GfxImageColorMap *colorMapA);
-  virtual ~DeviceNRecoder();
-  virtual StreamKind getKind() { return strWeird; }
-  virtual void reset();
-  virtual int getChar()
+  ~DeviceNRecoder();
+  StreamKind getKind() override { return strWeird; }
+  void reset() override;
+  int getChar() override
     { return (bufIdx >= bufSize && !fillBuf()) ? EOF : buf[bufIdx++]; }
-  virtual int lookChar()
+  int lookChar() override
     { return (bufIdx >= bufSize && !fillBuf()) ? EOF : buf[bufIdx]; }
-  virtual GooString *getPSFilter(int psLevel, const char *indent) { return NULL; }
-  virtual GBool isBinary(GBool last = gTrue) { return gTrue; }
-  virtual GBool isEncoder() { return gTrue; }
+  GooString *getPSFilter(int psLevel, const char *indent) override { return NULL; }
+  GBool isBinary(GBool last = gTrue) override { return gTrue; }
+  GBool isEncoder() override { return gTrue; }
 
 private:
 

Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/PSOutputDev.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/PSOutputDev.h	2017-03-19 22:35:40 UTC (rev 43550)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/PSOutputDev.h	2017-03-19 22:36:16 UTC (rev 43551)
@@ -134,31 +134,31 @@
 
   // Does this device use upside-down coordinates?
   // (Upside-down means (0,0) is the top left corner of the page.)
-  virtual GBool upsideDown() { return gFalse; }
+  GBool upsideDown() override { return gFalse; }
 
   // Does this device use drawChar() or drawString()?
-  virtual GBool useDrawChar() { return gFalse; }
+  GBool useDrawChar() override { return gFalse; }
 
   // Does this device use tilingPatternFill()?  If this returns false,
   // tiling pattern fills will be reduced to a series of other drawing
   // operations.
-  virtual GBool useTilingPatternFill() { return gTrue; }
+  GBool useTilingPatternFill() override { return gTrue; }
 
   // Does this device use functionShadedFill(), axialShadedFill(), and
   // radialShadedFill()?  If this returns false, these shaded fills
   // will be reduced to a series of other drawing operations.
-  virtual GBool useShadedFills(int type)
+  GBool useShadedFills(int type) override
     { return type < 4 && level >= psLevel2; }
 
   // Does this device use drawForm()?  If this returns false,
   // form-type XObjects will be interpreted (i.e., unrolled).
-  virtual GBool useDrawForm() { return preloadImagesForms; }
+  GBool useDrawForm() override { return preloadImagesForms; }
 
   // Does this device use beginType3Char/endType3Char?  Otherwise,
   // text in Type 3 fonts will be drawn with drawChar/drawString.
-  virtual GBool interpretType3Chars() { return gFalse; }
+  GBool interpretType3Chars() override { return gFalse; }
   
-  virtual GBool needClipToCropBox() { return mode == psModeEPS; }
+  GBool needClipToCropBox() override { return mode == psModeEPS; }
 
   //----- header/trailer (used only if manualCtrl is true)
 
@@ -182,7 +182,7 @@
   // returns false, the page display is aborted.  Typically, an
   // OutputDev will use some alternate means to display the page
   // before returning false.
-  virtual GBool checkPageSlice(Page *page, double hDPI, double vDPI,
+  GBool checkPageSlice(Page *page, double hDPI, double vDPI,
 			       int rotate, GBool useMediaBox, GBool crop,
 			       int sliceX, int sliceY, int sliceW, int sliceH,
 			       GBool printing,
@@ -189,108 +189,108 @@
 			       GBool (*abortCheckCbk)(void *data) = NULL,
 			       void *abortCheckCbkData = NULL,
 			       GBool (*annotDisplayDecideCbk)(Annot *annot, void *user_data) = NULL,
-			       void *annotDisplayDecideCbkData = NULL);
+			       void *annotDisplayDecideCbkData = NULL) override;
 
   // Start a page.
-  virtual void startPage(int pageNum, GfxState *state, XRef *xref);
+  void startPage(int pageNum, GfxState *state, XRef *xref) override;
 
   // End a page.
-  virtual void endPage();
+  void endPage() override;
 
   //----- save/restore graphics state
-  virtual void saveState(GfxState *state);
-  virtual void restoreState(GfxState *state);
+  void saveState(GfxState *state) override;
+  void restoreState(GfxState *state) override;
 
   //----- update graphics state
-  virtual void updateCTM(GfxState *state, double m11, double m12,
-			 double m21, double m22, double m31, double m32);
-  virtual void updateLineDash(GfxState *state);
-  virtual void updateFlatness(GfxState *state);
-  virtual void updateLineJoin(GfxState *state);
-  virtual void updateLineCap(GfxState *state);
-  virtual void updateMiterLimit(GfxState *state);
-  virtual void updateLineWidth(GfxState *state);
-  virtual void updateFillColorSpace(GfxState *state);
-  virtual void updateStrokeColorSpace(GfxState *state);
-  virtual void updateFillColor(GfxState *state);
-  virtual void updateStrokeColor(GfxState *state);
-  virtual void updateFillOverprint(GfxState *state);
-  virtual void updateStrokeOverprint(GfxState *state);
-  virtual void updateOverprintMode(GfxState *state);
-  virtual void updateTransfer(GfxState *state);
+  void updateCTM(GfxState *state, double m11, double m12,
+			 double m21, double m22, double m31, double m32) override;
+  void updateLineDash(GfxState *state) override;
+  void updateFlatness(GfxState *state) override;
+  void updateLineJoin(GfxState *state) override;
+  void updateLineCap(GfxState *state) override;
+  void updateMiterLimit(GfxState *state) override;
+  void updateLineWidth(GfxState *state) override;
+  void updateFillColorSpace(GfxState *state) override;
+  void updateStrokeColorSpace(GfxState *state) override;
+  void updateFillColor(GfxState *state) override;
+  void updateStrokeColor(GfxState *state) override;
+  void updateFillOverprint(GfxState *state) override;
+  void updateStrokeOverprint(GfxState *state) override;
+  void updateOverprintMode(GfxState *state) override;
+  void updateTransfer(GfxState *state) override;
 
   //----- update text state
-  virtual void updateFont(GfxState *state);
-  virtual void updateTextMat(GfxState *state);
-  virtual void updateCharSpace(GfxState *state);
-  virtual void updateRender(GfxState *state);
-  virtual void updateRise(GfxState *state);
-  virtual void updateWordSpace(GfxState *state);
-  virtual void updateHorizScaling(GfxState *state);
-  virtual void updateTextPos(GfxState *state);
-  virtual void updateTextShift(GfxState *state, double shift);
-  virtual void saveTextPos(GfxState *state);
-  virtual void restoreTextPos(GfxState *state);
+  void updateFont(GfxState *state) override;
+  void updateTextMat(GfxState *state) override;
+  void updateCharSpace(GfxState *state) override;
+  void updateRender(GfxState *state) override;
+  void updateRise(GfxState *state) override;
+  void updateWordSpace(GfxState *state) override;
+  void updateHorizScaling(GfxState *state) override;
+  void updateTextPos(GfxState *state) override;
+  void updateTextShift(GfxState *state, double shift) override;
+  void saveTextPos(GfxState *state) override;
+  void restoreTextPos(GfxState *state) override;
 
   //----- path painting
-  virtual void stroke(GfxState *state);
-  virtual void fill(GfxState *state);
-  virtual void eoFill(GfxState *state);
-  virtual GBool tilingPatternFill(GfxState *state, Gfx *gfx, Catalog *cat, Object *str,
+  void stroke(GfxState *state) override;
+  void fill(GfxState *state) override;
+  void eoFill(GfxState *state) override;
+  GBool tilingPatternFill(GfxState *state, Gfx *gfx, Catalog *cat, Object *str,
 				  double *pmat, int paintType, int tilingType, Dict *resDict,
 				  double *mat, double *bbox,
 				  int x0, int y0, int x1, int y1,
-				  double xStep, double yStep);
-  virtual GBool functionShadedFill(GfxState *state,
-				   GfxFunctionShading *shading);
-  virtual GBool axialShadedFill(GfxState *state, GfxAxialShading *shading, double /*tMin*/, double /*tMax*/);
-  virtual GBool radialShadedFill(GfxState *state, GfxRadialShading *shading, double /*sMin*/, double /*sMax*/);
+				  double xStep, double yStep) override;
+  GBool functionShadedFill(GfxState *state,
+				   GfxFunctionShading *shading) override;
+  GBool axialShadedFill(GfxState *state, GfxAxialShading *shading, double /*tMin*/, double /*tMax*/) override;
+  GBool radialShadedFill(GfxState *state, GfxRadialShading *shading, double /*sMin*/, double /*sMax*/) override;
 
   //----- path clipping
-  virtual void clip(GfxState *state);
-  virtual void eoClip(GfxState *state);
-  virtual void clipToStrokePath(GfxState *state);
+  void clip(GfxState *state) override;
+  void eoClip(GfxState *state) override;
+  void clipToStrokePath(GfxState *state) override;
 
   //----- text drawing
-  virtual void drawString(GfxState *state, GooString *s);
-  virtual void beginTextObject(GfxState *state);
-  virtual void endTextObject(GfxState *state);
+  void drawString(GfxState *state, GooString *s) override;
+  void beginTextObject(GfxState *state) override;
+  void endTextObject(GfxState *state) override;
 
   //----- image drawing
-  virtual void drawImageMask(GfxState *state, Object *ref, Stream *str,
+  void drawImageMask(GfxState *state, Object *ref, Stream *str,
 			     int width, int height, GBool invert,
-			     GBool interpolate, GBool inlineImg);
-  virtual void setSoftMaskFromImageMask(GfxState *state,
+			     GBool interpolate, GBool inlineImg) override;
+  void setSoftMaskFromImageMask(GfxState *state,
 					Object *ref, Stream *str,
 					int width, int height, GBool invert,
-					GBool inlineImg, double *baseMatrix);
-  virtual void unsetSoftMaskFromImageMask(GfxState *state, double *baseMatrix);
-  virtual void drawImage(GfxState *state, Object *ref, Stream *str,
+					GBool inlineImg, double *baseMatrix) override;
+  void unsetSoftMaskFromImageMask(GfxState *state, double *baseMatrix) override;
+  void drawImage(GfxState *state, Object *ref, Stream *str,
 			 int width, int height, GfxImageColorMap *colorMap,
-			 GBool interpolate, int *maskColors, GBool inlineImg);
-  virtual void drawMaskedImage(GfxState *state, Object *ref, Stream *str,
+			 GBool interpolate, int *maskColors, GBool inlineImg) override;
+  void drawMaskedImage(GfxState *state, Object *ref, Stream *str,
 			       int width, int height,
 			       GfxImageColorMap *colorMap,
 			       GBool interpolate,
 			       Stream *maskStr, int maskWidth, int maskHeight,
-			       GBool maskInvert, GBool maskInterpolate);
+			       GBool maskInvert, GBool maskInterpolate) override;
 
 #if OPI_SUPPORT
   //----- OPI functions
-  virtual void opiBegin(GfxState *state, Dict *opiDict);
-  virtual void opiEnd(GfxState *state, Dict *opiDict);
+  void opiBegin(GfxState *state, Dict *opiDict) override;
+  void opiEnd(GfxState *state, Dict *opiDict) override;
 #endif
 
   //----- Type 3 font operators
-  virtual void type3D0(GfxState *state, double wx, double wy);
-  virtual void type3D1(GfxState *state, double wx, double wy,
-		       double llx, double lly, double urx, double ury);
+  void type3D0(GfxState *state, double wx, double wy) override;
+  void type3D1(GfxState *state, double wx, double wy,
+		       double llx, double lly, double urx, double ury) override;
 
   //----- form XObjects
-  virtual void drawForm(Ref ref);
+  void drawForm(Ref ref) override;
 
   //----- PostScript XObjects
-  virtual void psXObject(Stream *psStream, Stream *level1Stream);
+  void psXObject(Stream *psStream, Stream *level1Stream) override;
 
   //----- miscellaneous
   void setOffset(double x, double y)

Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/PopplerCache.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/PopplerCache.cc	2017-03-19 22:35:40 UTC (rev 43550)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/PopplerCache.cc	2017-03-19 22:36:16 UTC (rev 43551)
@@ -110,7 +110,7 @@
     {
     }
 
-    bool operator==(const PopplerCacheKey &key) const
+    bool operator==(const PopplerCacheKey &key) const override
     {
       const ObjectKey *k = static_cast<const ObjectKey*>(&key);
       return k->num == num && k->gen == gen;

Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/PreScanOutputDev.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/PreScanOutputDev.h	2017-03-19 22:35:40 UTC (rev 43550)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/PreScanOutputDev.h	2017-03-19 22:36:16 UTC (rev 43551)
@@ -48,95 +48,95 @@
   PreScanOutputDev(PDFDoc *docA);
 
   // Destructor.
-  virtual ~PreScanOutputDev();
+  ~PreScanOutputDev();
 
   //----- get info about output device
 
   // Does this device use upside-down coordinates?
   // (Upside-down means (0,0) is the top left corner of the page.)
-  virtual GBool upsideDown() { return gTrue; }
+  GBool upsideDown() override { return gTrue; }
 
   // Does this device use drawChar() or drawString()?
-  virtual GBool useDrawChar() { return gTrue; }
+  GBool useDrawChar() override { return gTrue; }
 
   // Does this device use tilingPatternFill()?  If this returns false,
   // tiling pattern fills will be reduced to a series of other drawing
   // operations.
-  virtual GBool useTilingPatternFill() { return gTrue; }
+  GBool useTilingPatternFill() override { return gTrue; }
 
   // Does this device use functionShadedFill(), axialShadedFill(), and
   // radialShadedFill()?  If this returns false, these shaded fills
   // will be reduced to a series of other drawing operations.
-  virtual GBool useShadedFills(int type) { return gTrue; }
+  GBool useShadedFills(int type) override { return gTrue; }
 
   // Does this device use beginType3Char/endType3Char?  Otherwise,
   // text in Type 3 fonts will be drawn with drawChar/drawString.
-  virtual GBool interpretType3Chars() { return gTrue; }
+  GBool interpretType3Chars() override { return gTrue; }
 
   //----- initialization and control
 
   // Start a page.
-  virtual void startPage(int pageNum, GfxState *state, XRef *xref);
+  void startPage(int pageNum, GfxState *state, XRef *xref) override;
 
   // End a page.
-  virtual void endPage();
+  void endPage() override;
 
   //----- path painting
-  virtual void stroke(GfxState *state);
-  virtual void fill(GfxState *state);
-  virtual void eoFill(GfxState *state);
-  virtual GBool tilingPatternFill(GfxState *state, Gfx *gfx, Catalog *cat, Object *str,
-				  double *pmat, int paintType, int tilingType, Dict *resDict,
-				  double *mat, double *bbox,
-				  int x0, int y0, int x1, int y1,
-				  double xStep, double yStep);
-  virtual GBool functionShadedFill(GfxState *state,
-				   GfxFunctionShading *shading);
-  virtual GBool axialShadedFill(GfxState *state, GfxAxialShading *shading, double tMin, double tMax);
-  virtual GBool radialShadedFill(GfxState *state, GfxRadialShading *shading, double tMin, double tMax);
+  void stroke(GfxState *state) override;
+  void fill(GfxState *state) override;
+  void eoFill(GfxState *state) override;
+  GBool tilingPatternFill(GfxState *state, Gfx *gfx, Catalog *cat, Object *str,
+			  double *pmat, int paintType, int tilingType, Dict *resDict,
+			  double *mat, double *bbox,
+			  int x0, int y0, int x1, int y1,
+			  double xStep, double yStep) override;
+  GBool functionShadedFill(GfxState *state,
+			   GfxFunctionShading *shading) override;
+  GBool axialShadedFill(GfxState *state, GfxAxialShading *shading, double tMin, double tMax) override;
+  GBool radialShadedFill(GfxState *state, GfxRadialShading *shading, double tMin, double tMax) override;
 
   //----- path clipping
-  virtual void clip(GfxState *state);
-  virtual void eoClip(GfxState *state);
+  void clip(GfxState *state) override;
+  void eoClip(GfxState *state) override;
 
   //----- text drawing
-  virtual void beginStringOp(GfxState *state);
-  virtual void endStringOp(GfxState *state);
-  virtual GBool beginType3Char(GfxState *state, double x, double y,
-			       double dx, double dy,
-			       CharCode code, Unicode *u, int uLen);
-  virtual void endType3Char(GfxState *state);
+  void beginStringOp(GfxState *state) override;
+  void endStringOp(GfxState *state) override;
+  GBool beginType3Char(GfxState *state, double x, double y,
+		       double dx, double dy,
+		       CharCode code, Unicode *u, int uLen) override;
+  void endType3Char(GfxState *state) override;
 
   //----- image drawing
-  virtual void drawImageMask(GfxState *state, Object *ref, Stream *str,
-			     int width, int height, GBool invert,
-			     GBool interpolate, GBool inlineImg);
-  virtual void drawImage(GfxState *state, Object *ref, Stream *str,
-			 int width, int height, GfxImageColorMap *colorMap,
-			 GBool interpolate, int *maskColors, GBool inlineImg);
-  virtual void drawMaskedImage(GfxState *state, Object *ref, Stream *str,
-			       int width, int height,
-			       GfxImageColorMap *colorMap,
-			       GBool interpolate,
-			       Stream *maskStr, int maskWidth, int maskHeight,
-			       GBool maskInvert, GBool maskInterpolate);
-  virtual void drawSoftMaskedImage(GfxState *state, Object *ref, Stream *str,
-				   int width, int height,
-				   GfxImageColorMap *colorMap,
-				   GBool interpolate,
-				   Stream *maskStr,
-				   int maskWidth, int maskHeight,
-				   GfxImageColorMap *maskColorMap,
-				   GBool maskInterpolate);
+  void drawImageMask(GfxState *state, Object *ref, Stream *str,
+		     int width, int height, GBool invert,
+		     GBool interpolate, GBool inlineImg) override;
+  void drawImage(GfxState *state, Object *ref, Stream *str,
+		 int width, int height, GfxImageColorMap *colorMap,
+		 GBool interpolate, int *maskColors, GBool inlineImg) override;
+  void drawMaskedImage(GfxState *state, Object *ref, Stream *str,
+		      int width, int height,
+		      GfxImageColorMap *colorMap,
+		      GBool interpolate,
+		      Stream *maskStr, int maskWidth, int maskHeight,
+		      GBool maskInvert, GBool maskInterpolate) override;
+  void drawSoftMaskedImage(GfxState *state, Object *ref, Stream *str,
+			   int width, int height,
+			   GfxImageColorMap *colorMap,
+			   GBool interpolate,
+			   Stream *maskStr,
+			   int maskWidth, int maskHeight,
+			   GfxImageColorMap *maskColorMap,
+			   GBool maskInterpolate) override;
 
   //----- transparency groups and soft masks
-  virtual void beginTransparencyGroup(GfxState *state, double *bbox,
-				      GfxColorSpace *blendingColorSpace,
-				      GBool isolated, GBool knockout,
-				      GBool forSoftMask);
-	virtual void paintTransparencyGroup(GfxState *state, double *bbox);
-	virtual void setSoftMask(GfxState *state, double *bbox, GBool alpha,
-			   Function *transferFunc, GfxColor *backdropColor);
+  void beginTransparencyGroup(GfxState *state, double *bbox,
+			      GfxColorSpace *blendingColorSpace,
+			      GBool isolated, GBool knockout,
+			      GBool forSoftMask) override;
+  void paintTransparencyGroup(GfxState *state, double *bbox) override;
+  void setSoftMask(GfxState *state, double *bbox, GBool alpha,
+		   Function *transferFunc, GfxColor *backdropColor) override;
 
   //----- special access
 

Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/SecurityHandler.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/SecurityHandler.h	2017-03-19 22:35:40 UTC (rev 43550)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/SecurityHandler.h	2017-03-19 22:36:16 UTC (rev 43551)
@@ -107,21 +107,21 @@
 public:
 
   StandardSecurityHandler(PDFDoc *docA, Object *encryptDictA);
-  virtual ~StandardSecurityHandler();
+  ~StandardSecurityHandler();
 
-  virtual GBool isUnencrypted();
-  virtual void *makeAuthData(GooString *ownerPassword,
-			     GooString *userPassword);
-  virtual void *getAuthData();
-  virtual void freeAuthData(void *authData);
-  virtual GBool authorize(void *authData);
-  virtual int getPermissionFlags() { return permFlags; }
-  virtual GBool getOwnerPasswordOk() { return ownerPasswordOk; }
-  virtual Guchar *getFileKey() { return fileKey; }
-  virtual int getFileKeyLength() { return fileKeyLength; }
-  virtual int getEncVersion() { return encVersion; }
-  virtual int getEncRevision() { return encRevision; }
-  virtual CryptAlgorithm getEncAlgorithm() { return encAlgorithm; }
+  GBool isUnencrypted() override;
+  void *makeAuthData(GooString *ownerPassword,
+			     GooString *userPassword) override;
+  void *getAuthData() override;
+  void freeAuthData(void *authData) override;
+  GBool authorize(void *authData) override;
+  int getPermissionFlags() override { return permFlags; }
+  GBool getOwnerPasswordOk() override { return ownerPasswordOk; }
+  Guchar *getFileKey() override { return fileKey; }
+  int getFileKeyLength() override { return fileKeyLength; }
+  int getEncVersion() override { return encVersion; }
+  int getEncRevision() override { return encRevision; }
+  CryptAlgorithm getEncAlgorithm() override { return encAlgorithm; }
 
 private:
 

Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/SplashOutputDev.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/SplashOutputDev.cc	2017-03-19 22:35:40 UTC (rev 43550)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/SplashOutputDev.cc	2017-03-19 22:36:16 UTC (rev 43551)
@@ -15,7 +15,7 @@
 //
 // Copyright (C) 2005 Takashi Iwai <tiwai at suse.de>
 // Copyright (C) 2006 Stefan Schweizer <genstef at gentoo.org>
-// Copyright (C) 2006-2016 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2006-2017 Albert Astals Cid <aacid at kde.org>
 // Copyright (C) 2006 Krzysztof Kowalczyk <kkowalczyk at gmail.com>
 // Copyright (C) 2006 Scott Turner <scotty1024 at mac.com>
 // Copyright (C) 2007 Koji Otani <sho at bbr.jp>
@@ -1215,7 +1215,7 @@
 
   ~SplashOutFontFileID() {}
 
-  GBool matches(SplashFontFileID *id) {
+  GBool matches(SplashFontFileID *id) override {
     return ((SplashOutFontFileID *)id)->r.num == r.num &&
            ((SplashOutFontFileID *)id)->r.gen == r.gen;
   }
@@ -4020,9 +4020,9 @@
     maskStr->reset();
     maskStr->doGetChars(maskWidth * maskHeight, data);
     maskStr->close();
-    Object *maskDict = new Object();
-    maskDict->initDict(maskStr->getDict());
-    maskStr = new MemStream((char *)data, 0, maskWidth * maskHeight, maskDict);
+    Object maskDict;
+    maskDict.initDict(maskStr->getDict());
+    maskStr = new MemStream((char *)data, 0, maskWidth * maskHeight, &maskDict);
     ((MemStream *) maskStr)->setNeedFree(gTrue);
   }
   imgMaskData.imgStr = new ImageStream(maskStr, maskWidth,

Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/SplashOutputDev.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/SplashOutputDev.h	2017-03-19 22:35:40 UTC (rev 43550)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/SplashOutputDev.h	2017-03-19 22:36:16 UTC (rev 43551)
@@ -64,19 +64,19 @@
 
   SplashFunctionPattern(SplashColorMode colorMode, GfxState *state, GfxFunctionShading *shading);
 
-  virtual SplashPattern *copy() { return new SplashFunctionPattern(colorMode, state, (GfxFunctionShading *) shading); }
+  SplashPattern *copy() override { return new SplashFunctionPattern(colorMode, state, (GfxFunctionShading *) shading); }
 
-  virtual ~SplashFunctionPattern();
+  ~SplashFunctionPattern();
 
-  virtual GBool testPosition(int x, int y) { return gTrue; }
+  GBool testPosition(int x, int y) override { return gTrue; }
 
-  virtual GBool isStatic() { return gFalse; }
+  GBool isStatic() override { return gFalse; }
 
-  virtual GBool getColor(int x, int y, SplashColorPtr c);
+  GBool getColor(int x, int y, SplashColorPtr c) override;
 
   virtual GfxFunctionShading *getShading() { return shading; }
 
-  virtual GBool isCMYK() { return gfxMode == csDeviceCMYK; }
+  GBool isCMYK() override { return gfxMode == csDeviceCMYK; }
 
 protected:
   Matrix ictm;
@@ -92,19 +92,19 @@
 
   SplashUnivariatePattern(SplashColorMode colorMode, GfxState *state, GfxUnivariateShading *shading);
 
-  virtual ~SplashUnivariatePattern();
+  ~SplashUnivariatePattern();
 
-  virtual GBool getColor(int x, int y, SplashColorPtr c);
+  GBool getColor(int x, int y, SplashColorPtr c) override;
 
-  virtual GBool testPosition(int x, int y);
+  GBool testPosition(int x, int y) override;
 
-  virtual GBool isStatic() { return gFalse; }
+  GBool isStatic() override { return gFalse; }
 
   virtual GBool getParameter(double xs, double ys, double *t) = 0;
 
   virtual GfxUnivariateShading *getShading() { return shading; }
 
-  virtual GBool isCMYK() { return gfxMode == csDeviceCMYK; }
+  GBool isCMYK() override { return gfxMode == csDeviceCMYK; }
 
 protected:
   Matrix ictm;
@@ -120,11 +120,11 @@
 
   SplashAxialPattern(SplashColorMode colorMode, GfxState *state, GfxAxialShading *shading);
 
-  virtual SplashPattern *copy() { return new SplashAxialPattern(colorMode, state, (GfxAxialShading *) shading); }
+  SplashPattern *copy() override { return new SplashAxialPattern(colorMode, state, (GfxAxialShading *) shading); }
 
-  virtual ~SplashAxialPattern();
+  ~SplashAxialPattern();
 
-  virtual GBool getParameter(double xs, double ys, double *t);
+  GBool getParameter(double xs, double ys, double *t) override;
 
 private:
   double x0, y0, x1, y1;
@@ -137,26 +137,26 @@
 
   SplashGouraudPattern(GBool bDirectColorTranslation, GfxState *state, GfxGouraudTriangleShading *shading, SplashColorMode mode);
 
-  virtual SplashPattern *copy() { return new SplashGouraudPattern(bDirectColorTranslation, state, shading, mode); }
+  SplashPattern *copy() override { return new SplashGouraudPattern(bDirectColorTranslation, state, shading, mode); }
 
-  virtual ~SplashGouraudPattern();
+  ~SplashGouraudPattern();
 
-  virtual GBool getColor(int x, int y, SplashColorPtr c) { return gFalse; }
+  GBool getColor(int x, int y, SplashColorPtr c) override { return gFalse; }
 
-  virtual GBool testPosition(int x, int y) { return gFalse; }
+  GBool testPosition(int x, int y) override { return gFalse; }
 
-  virtual GBool isStatic() { return gFalse; }
+  GBool isStatic() override { return gFalse; }
 
-  virtual GBool isCMYK() { return gfxMode == csDeviceCMYK; }
+  GBool isCMYK() override { return gfxMode == csDeviceCMYK; }
 
-  virtual GBool isParameterized() { return shading->isParameterized(); }
-  virtual int getNTriangles() { return shading->getNTriangles(); }
-  virtual  void getTriangle(int i, double *x0, double *y0, double *color0,
+  GBool isParameterized() override { return shading->isParameterized(); }
+  int getNTriangles() override { return shading->getNTriangles(); }
+   void getTriangle(int i, double *x0, double *y0, double *color0,
                             double *x1, double *y1, double *color1,
-                            double *x2, double *y2, double *color2)
+                            double *x2, double *y2, double *color2) override
   { return shading->getTriangle(i, x0, y0, color0, x1, y1, color1, x2, y2, color2); }
 
-  virtual void getParameterizedColor(double t, SplashColorMode mode, SplashColorPtr c);
+  void getParameterizedColor(double t, SplashColorMode mode, SplashColorPtr c) override;
 
 private:
   GfxGouraudTriangleShading *shading;
@@ -172,11 +172,11 @@
 
   SplashRadialPattern(SplashColorMode colorMode, GfxState *state, GfxRadialShading *shading);
 
-  virtual SplashPattern *copy() { return new SplashRadialPattern(colorMode, state, (GfxRadialShading *) shading); }
+  SplashPattern *copy() override { return new SplashRadialPattern(colorMode, state, (GfxRadialShading *) shading); }
 
-  virtual ~SplashRadialPattern();
+  ~SplashRadialPattern();
 
-  virtual GBool getParameter(double xs, double ys, double *t);
+  GBool getParameter(double xs, double ys, double *t) override;
 
 private:
   double x0, y0, r0, dx, dy, dr;
@@ -203,7 +203,7 @@
 		  GBool overprintPreviewA = globalParams->getOverprintPreview());
 
   // Destructor.
-  virtual ~SplashOutputDev();
+  ~SplashOutputDev();
 
   //----- get info about output device
 
@@ -210,115 +210,115 @@
   // Does this device use tilingPatternFill()?  If this returns false,
   // tiling pattern fills will be reduced to a series of other drawing
   // operations.
-  virtual GBool useTilingPatternFill() { return gTrue; }
+  GBool useTilingPatternFill() override { return gTrue; }
 
   // Does this device use functionShadedFill(), axialShadedFill(), and
   // radialShadedFill()?  If this returns false, these shaded fills
   // will be reduced to a series of other drawing operations.
-  virtual GBool useShadedFills(int type)
+  GBool useShadedFills(int type) override
   { return (type >= 1 && type <= 5) ? gTrue : gFalse; }
 
   // Does this device use upside-down coordinates?
   // (Upside-down means (0,0) is the top left corner of the page.)
-  virtual GBool upsideDown() { return bitmapTopDown ^ bitmapUpsideDown; }
+  GBool upsideDown() override { return bitmapTopDown ^ bitmapUpsideDown; }
 
   // Does this device use drawChar() or drawString()?
-  virtual GBool useDrawChar() { return gTrue; }
+  GBool useDrawChar() override { return gTrue; }
 
   // Does this device use beginType3Char/endType3Char?  Otherwise,
   // text in Type 3 fonts will be drawn with drawChar/drawString.
-  virtual GBool interpretType3Chars() { return gTrue; }
+  GBool interpretType3Chars() override { return gTrue; }
 
   //----- initialization and control
 
   // Start a page.
-  virtual void startPage(int pageNum, GfxState *state, XRef *xref);
+  void startPage(int pageNum, GfxState *state, XRef *xref) override;
 
   // End a page.
-  virtual void endPage();
+  void endPage() override;
 
   //----- save/restore graphics state
-  virtual void saveState(GfxState *state);
-  virtual void restoreState(GfxState *state);
+  void saveState(GfxState *state) override;
+  void restoreState(GfxState *state) override;
 
   //----- update graphics state
-  virtual void updateAll(GfxState *state);
-  virtual void updateCTM(GfxState *state, double m11, double m12,
-			 double m21, double m22, double m31, double m32);
-  virtual void updateLineDash(GfxState *state);
-  virtual void updateFlatness(GfxState *state);
-  virtual void updateLineJoin(GfxState *state);
-  virtual void updateLineCap(GfxState *state);
-  virtual void updateMiterLimit(GfxState *state);
-  virtual void updateLineWidth(GfxState *state);
-  virtual void updateStrokeAdjust(GfxState *state);
-  virtual void updateFillColorSpace(GfxState *state);
-  virtual void updateStrokeColorSpace(GfxState *state);
-  virtual void updateFillColor(GfxState *state);
-  virtual void updateStrokeColor(GfxState *state);
-  virtual void updateBlendMode(GfxState *state);
-  virtual void updateFillOpacity(GfxState *state);
-  virtual void updateStrokeOpacity(GfxState *state);
-  virtual void updatePatternOpacity(GfxState *state);
-  virtual void clearPatternOpacity(GfxState *state);
-  virtual void updateFillOverprint(GfxState *state);
-  virtual void updateStrokeOverprint(GfxState *state);
-  virtual void updateOverprintMode(GfxState *state);
-  virtual void updateTransfer(GfxState *state);
+  void updateAll(GfxState *state) override;
+  void updateCTM(GfxState *state, double m11, double m12,
+			 double m21, double m22, double m31, double m32) override;
+  void updateLineDash(GfxState *state) override;
+  void updateFlatness(GfxState *state) override;
+  void updateLineJoin(GfxState *state) override;
+  void updateLineCap(GfxState *state) override;
+  void updateMiterLimit(GfxState *state) override;
+  void updateLineWidth(GfxState *state) override;
+  void updateStrokeAdjust(GfxState *state) override;
+  void updateFillColorSpace(GfxState *state) override;
+  void updateStrokeColorSpace(GfxState *state) override;
+  void updateFillColor(GfxState *state) override;
+  void updateStrokeColor(GfxState *state) override;
+  void updateBlendMode(GfxState *state) override;
+  void updateFillOpacity(GfxState *state) override;
+  void updateStrokeOpacity(GfxState *state) override;
+  void updatePatternOpacity(GfxState *state) override;
+  void clearPatternOpacity(GfxState *state) override;
+  void updateFillOverprint(GfxState *state) override;
+  void updateStrokeOverprint(GfxState *state) override;
+  void updateOverprintMode(GfxState *state) override;
+  void updateTransfer(GfxState *state) override;
 
   //----- update text state
-  virtual void updateFont(GfxState *state);
+  void updateFont(GfxState *state) override;
 
   //----- path painting
-  virtual void stroke(GfxState *state);
-  virtual void fill(GfxState *state);
-  virtual void eoFill(GfxState *state);
-  virtual GBool tilingPatternFill(GfxState *state, Gfx *gfx, Catalog *catalog, Object *str,
+  void stroke(GfxState *state) override;
+  void fill(GfxState *state) override;
+  void eoFill(GfxState *state) override;
+  GBool tilingPatternFill(GfxState *state, Gfx *gfx, Catalog *catalog, Object *str,
 				  double *pmat, int paintType, int tilingType, Dict *resDict,
 				  double *mat, double *bbox,
 				  int x0, int y0, int x1, int y1,
-				  double xStep, double yStep);
-  virtual GBool functionShadedFill(GfxState *state, GfxFunctionShading *shading);
-  virtual GBool axialShadedFill(GfxState *state, GfxAxialShading *shading, double tMin, double tMax);
-  virtual GBool radialShadedFill(GfxState *state, GfxRadialShading *shading, double tMin, double tMax);
-  virtual GBool gouraudTriangleShadedFill(GfxState *state, GfxGouraudTriangleShading *shading);
+				  double xStep, double yStep) override;
+  GBool functionShadedFill(GfxState *state, GfxFunctionShading *shading) override;
+  GBool axialShadedFill(GfxState *state, GfxAxialShading *shading, double tMin, double tMax) override;
+  GBool radialShadedFill(GfxState *state, GfxRadialShading *shading, double tMin, double tMax) override;
+  GBool gouraudTriangleShadedFill(GfxState *state, GfxGouraudTriangleShading *shading) override;
 
   //----- path clipping
-  virtual void clip(GfxState *state);
-  virtual void eoClip(GfxState *state);
-  virtual void clipToStrokePath(GfxState *state);
+  void clip(GfxState *state) override;
+  void eoClip(GfxState *state) override;
+  void clipToStrokePath(GfxState *state) override;
 
   //----- text drawing
-  virtual void drawChar(GfxState *state, double x, double y,
+  void drawChar(GfxState *state, double x, double y,
 			double dx, double dy,
 			double originX, double originY,
-			CharCode code, int nBytes, Unicode *u, int uLen);
-  virtual GBool beginType3Char(GfxState *state, double x, double y,
+			CharCode code, int nBytes, Unicode *u, int uLen) override;
+  GBool beginType3Char(GfxState *state, double x, double y,
 			       double dx, double dy,
-			       CharCode code, Unicode *u, int uLen);
-  virtual void endType3Char(GfxState *state);
-  virtual void beginTextObject(GfxState *state);
-  virtual void endTextObject(GfxState *state);
+			       CharCode code, Unicode *u, int uLen) override;
+  void endType3Char(GfxState *state) override;
+  void beginTextObject(GfxState *state) override;
+  void endTextObject(GfxState *state) override;
 
   //----- image drawing
-  virtual void drawImageMask(GfxState *state, Object *ref, Stream *str,
+  void drawImageMask(GfxState *state, Object *ref, Stream *str,
 			     int width, int height, GBool invert,
-			     GBool interpolate, GBool inlineImg);
-  virtual void setSoftMaskFromImageMask(GfxState *state,
+			     GBool interpolate, GBool inlineImg) override;
+  void setSoftMaskFromImageMask(GfxState *state,
 					Object *ref, Stream *str,
 					int width, int height, GBool invert,
-					GBool inlineImg, double *baseMatrix);
-  virtual void unsetSoftMaskFromImageMask(GfxState *state, double *baseMatrix);
-  virtual void drawImage(GfxState *state, Object *ref, Stream *str,
+					GBool inlineImg, double *baseMatrix) override;
+  void unsetSoftMaskFromImageMask(GfxState *state, double *baseMatrix) override;
+  void drawImage(GfxState *state, Object *ref, Stream *str,
 			 int width, int height, GfxImageColorMap *colorMap,
-			 GBool interpolate, int *maskColors, GBool inlineImg);
-  virtual void drawMaskedImage(GfxState *state, Object *ref, Stream *str,
+			 GBool interpolate, int *maskColors, GBool inlineImg) override;
+  void drawMaskedImage(GfxState *state, Object *ref, Stream *str,
 			       int width, int height,
 			       GfxImageColorMap *colorMap,
 			       GBool interpolate,
 			       Stream *maskStr, int maskWidth, int maskHeight,
-			       GBool maskInvert, GBool maskInterpolate);
-  virtual void drawSoftMaskedImage(GfxState *state, Object *ref, Stream *str,
+			       GBool maskInvert, GBool maskInterpolate) override;
+  void drawSoftMaskedImage(GfxState *state, Object *ref, Stream *str,
 				   int width, int height,
 				   GfxImageColorMap *colorMap,
 				   GBool interpolate,
@@ -325,24 +325,24 @@
 				   Stream *maskStr,
 				   int maskWidth, int maskHeight,
 				   GfxImageColorMap *maskColorMap,
-				   GBool maskInterpolate);
+				   GBool maskInterpolate) override;
 
   //----- Type 3 font operators
-  virtual void type3D0(GfxState *state, double wx, double wy);
-  virtual void type3D1(GfxState *state, double wx, double wy,
-		       double llx, double lly, double urx, double ury);
+  void type3D0(GfxState *state, double wx, double wy) override;
+  void type3D1(GfxState *state, double wx, double wy,
+		       double llx, double lly, double urx, double ury) override;
 
   //----- transparency groups and soft masks
-  virtual GBool checkTransparencyGroup(GfxState *state, GBool knockout);
-  virtual void beginTransparencyGroup(GfxState *state, double *bbox,
+  GBool checkTransparencyGroup(GfxState *state, GBool knockout) override;
+  void beginTransparencyGroup(GfxState *state, double *bbox,
 				      GfxColorSpace *blendingColorSpace,
 				      GBool isolated, GBool knockout,
-				      GBool forSoftMask);
-  virtual void endTransparencyGroup(GfxState *state);
-  virtual void paintTransparencyGroup(GfxState *state, double *bbox);
-  virtual void setSoftMask(GfxState *state, double *bbox, GBool alpha,
-			   Function *transferFunc, GfxColor *backdropColor);
-  virtual void clearSoftMask(GfxState *state);
+				      GBool forSoftMask) override;
+  void endTransparencyGroup(GfxState *state) override;
+  void paintTransparencyGroup(GfxState *state, double *bbox) override;
+  void setSoftMask(GfxState *state, double *bbox, GBool alpha,
+			   Function *transferFunc, GfxColor *backdropColor) override;
+  void clearSoftMask(GfxState *state) override;
 
   //----- special access
 
@@ -386,8 +386,8 @@
   int getNestCount() { return nestCount; }
 
 #if 1 //~tmp: turn off anti-aliasing temporarily
-  virtual GBool getVectorAntialias();
-  virtual void setVectorAntialias(GBool vaa);
+  GBool getVectorAntialias() override;
+  void setVectorAntialias(GBool vaa) override;
 #endif
 
   GBool getFontAntialias() { return fontAntialias; }

Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/StdinCachedFile.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/StdinCachedFile.h	2017-03-19 22:35:40 UTC (rev 43550)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/StdinCachedFile.h	2017-03-19 22:36:16 UTC (rev 43551)
@@ -17,10 +17,9 @@
 class StdinCacheLoader : public CachedFileLoader {
 
 public:
+  size_t init(GooString *dummy, CachedFile* cachedFile) override;
+  int load(const std::vector<ByteRange> &ranges, CachedFileWriter *writer) override;
 
-  size_t init(GooString *dummy, CachedFile* cachedFile);
-  int load(const std::vector<ByteRange> &ranges, CachedFileWriter *writer);
-
 };
 
 #endif

Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/StdinPDFDocBuilder.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/StdinPDFDocBuilder.h	2017-03-19 22:35:40 UTC (rev 43550)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/StdinPDFDocBuilder.h	2017-03-19 22:36:16 UTC (rev 43551)
@@ -23,10 +23,9 @@
 class StdinPDFDocBuilder : public PDFDocBuilder {
 
 public:
-
   PDFDoc *buildPDFDoc(const GooString &uri, GooString *ownerPassword = NULL,
-    GooString *userPassword = NULL, void *guiDataA = NULL);
-  GBool supports(const GooString &uri);
+                      GooString *userPassword = NULL, void *guiDataA = NULL) override;
+  GBool supports(const GooString &uri) override;
 
 };
 

Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/Stream.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/Stream.h	2017-03-19 22:35:40 UTC (rev 43550)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/Stream.h	2017-03-19 22:36:16 UTC (rev 43551)
@@ -281,15 +281,15 @@
 public:
   FileOutStream (FILE* fa, Goffset startA);
 
-  virtual ~FileOutStream ();
+  ~FileOutStream ();
 
-  virtual void close();
+  void close() override;
 
-  virtual Goffset getPos();
+  Goffset getPos() override;
 
-  virtual void put (char c);
+  void put (char c) override;
 
-  virtual void printf (const char *format, ...);
+  void printf (const char *format, ...) override;
 private:
   FILE *f;
   Goffset start;
@@ -307,15 +307,15 @@
 public:
 
   BaseStream(Object *dictA, Goffset lengthA);
-  virtual ~BaseStream();
+  ~BaseStream();
   virtual BaseStream *copy() = 0;
   virtual Stream *makeSubStream(Goffset start, GBool limited,
 				Goffset length, Object *dict) = 0;
-  virtual void setPos(Goffset pos, int dir = 0) = 0;
-  virtual GBool isBinary(GBool last = gTrue) { return last; }
-  virtual BaseStream *getBaseStream() { return this; }
-  virtual Stream *getUndecodedStream() { return this; }
-  virtual Dict *getDict() { return dict.getDict(); }
+  void setPos(Goffset pos, int dir = 0) override = 0;
+  GBool isBinary(GBool last = gTrue) override { return last; }
+  BaseStream *getBaseStream() override { return this; }
+  Stream *getUndecodedStream() override { return this; }
+  Dict *getDict() override { return dict.getDict(); }
   virtual GooString *getFileName() { return NULL; }
   virtual Goffset getLength() { return length; }
 
@@ -339,17 +339,17 @@
 public:
 
   FilterStream(Stream *strA);
-  virtual ~FilterStream();
-  virtual void close();
-  virtual Goffset getPos() { return str->getPos(); }
-  virtual void setPos(Goffset pos, int dir = 0);
-  virtual BaseStream *getBaseStream() { return str->getBaseStream(); }
-  virtual Stream *getUndecodedStream() { return str->getUndecodedStream(); }
-  virtual Dict *getDict() { return str->getDict(); }
-  virtual Stream *getNextStream() { return str; }
+  ~FilterStream();
+  void close() override;
+  Goffset getPos() override { return str->getPos(); }
+  void setPos(Goffset pos, int dir = 0) override;
+  BaseStream *getBaseStream() override { return str->getBaseStream(); }
+  Stream *getUndecodedStream() override { return str->getUndecodedStream(); }
+  Dict *getDict() override { return str->getDict(); }
+  Stream *getNextStream() override { return str; }
 
-  virtual int getUnfilteredChar () { return str->getUnfilteredChar(); }
-  virtual void unfilteredReset () { str->unfilteredReset(); }
+  int getUnfilteredChar () override { return str->getUnfilteredChar(); }
+  void unfilteredReset () override { str->unfilteredReset(); }
 
 protected:
 
@@ -448,31 +448,31 @@
 
   FileStream(GooFile* fileA, Goffset startA, GBool limitedA,
 	     Goffset lengthA, Object *dictA);
-  virtual ~FileStream();
-  virtual BaseStream *copy();
-  virtual Stream *makeSubStream(Goffset startA, GBool limitedA,
-				Goffset lengthA, Object *dictA);
-  virtual StreamKind getKind() { return strFile; }
-  virtual void reset();
-  virtual void close();
-  virtual int getChar()
+  ~FileStream();
+  BaseStream *copy() override;
+  Stream *makeSubStream(Goffset startA, GBool limitedA,
+				Goffset lengthA, Object *dictA) override;
+  StreamKind getKind() override { return strFile; }
+  void reset() override;
+  void close() override;
+  int getChar() override
     { return (bufPtr >= bufEnd && !fillBuf()) ? EOF : (*bufPtr++ & 0xff); }
-  virtual int lookChar()
+  int lookChar() override
     { return (bufPtr >= bufEnd && !fillBuf()) ? EOF : (*bufPtr & 0xff); }
-  virtual Goffset getPos() { return bufPos + (bufPtr - buf); }
-  virtual void setPos(Goffset pos, int dir = 0);
-  virtual Goffset getStart() { return start; }
-  virtual void moveStart(Goffset delta);
+  Goffset getPos() override { return bufPos + (bufPtr - buf); }
+  void setPos(Goffset pos, int dir = 0) override;
+  Goffset getStart() override { return start; }
+  void moveStart(Goffset delta) override;
 
-  virtual int getUnfilteredChar () { return getChar(); }
-  virtual void unfilteredReset () { reset(); }
+  int getUnfilteredChar () override { return getChar(); }
+  void unfilteredReset () override { reset(); }
 
 private:
 
   GBool fillBuf();
   
-  virtual GBool hasGetChars() { return true; }
-  virtual int getChars(int nChars, Guchar *buffer)
+  GBool hasGetChars() override { return true; }
+  int getChars(int nChars, Guchar *buffer) override
     {
       int n, m;
 
@@ -518,24 +518,24 @@
 
   CachedFileStream(CachedFile *ccA, Goffset startA, GBool limitedA,
 	     Goffset lengthA, Object *dictA);
-  virtual ~CachedFileStream();
-  virtual BaseStream *copy();
-  virtual Stream *makeSubStream(Goffset startA, GBool limitedA,
-				Goffset lengthA, Object *dictA);
-  virtual StreamKind getKind() { return strCachedFile; }
-  virtual void reset();
-  virtual void close();
-  virtual int getChar()
+  ~CachedFileStream();
+  BaseStream *copy() override;
+  Stream *makeSubStream(Goffset startA, GBool limitedA,
+				Goffset lengthA, Object *dictA) override;
+  StreamKind getKind() override { return strCachedFile; }
+  void reset() override;
+  void close() override;
+  int getChar() override
     { return (bufPtr >= bufEnd && !fillBuf()) ? EOF : (*bufPtr++ & 0xff); }
-  virtual int lookChar()
+  int lookChar() override
     { return (bufPtr >= bufEnd && !fillBuf()) ? EOF : (*bufPtr & 0xff); }
-  virtual Goffset getPos() { return bufPos + (bufPtr - buf); }
-  virtual void setPos(Goffset pos, int dir = 0);
-  virtual Goffset getStart() { return start; }
-  virtual void moveStart(Goffset delta);
+  Goffset getPos() override { return bufPos + (bufPtr - buf); }
+  void setPos(Goffset pos, int dir = 0) override;
+  Goffset getStart() override { return start; }
+  void moveStart(Goffset delta) override;
 
-  virtual int getUnfilteredChar () { return getChar(); }
-  virtual void unfilteredReset () { reset(); }
+  int getUnfilteredChar () override { return getChar(); }
+  void unfilteredReset () override { reset(); }
 
 private:
 
@@ -561,33 +561,33 @@
 public:
 
   MemStream(char *bufA, Goffset startA, Goffset lengthA, Object *dictA);
-  virtual ~MemStream();
-  virtual BaseStream *copy();
-  virtual Stream *makeSubStream(Goffset start, GBool limited,
-				Goffset lengthA, Object *dictA);
-  virtual StreamKind getKind() { return strWeird; }
-  virtual void reset();
-  virtual void close();
-  virtual int getChar()
+  ~MemStream();
+  BaseStream *copy() override;
+  Stream *makeSubStream(Goffset start, GBool limited,
+				Goffset lengthA, Object *dictA) override;
+  StreamKind getKind() override { return strWeird; }
+  void reset() override;
+  void close() override;
+  int getChar() override
     { return (bufPtr < bufEnd) ? (*bufPtr++ & 0xff) : EOF; }
-  virtual int lookChar()
+  int lookChar() override
     { return (bufPtr < bufEnd) ? (*bufPtr & 0xff) : EOF; }
-  virtual Goffset getPos() { return (int)(bufPtr - buf); }
-  virtual void setPos(Goffset pos, int dir = 0);
-  virtual Goffset getStart() { return start; }
-  virtual void moveStart(Goffset delta);
+  Goffset getPos() override { return (int)(bufPtr - buf); }
+  void setPos(Goffset pos, int dir = 0) override;
+  Goffset getStart() override { return start; }
+  void moveStart(Goffset delta) override;
 
   //if needFree = true, the stream will delete buf when it is destroyed
   //otherwise it will not touch it. Default value is false
   virtual void setNeedFree (GBool val) { needFree = val; }
 
-  virtual int getUnfilteredChar () { return getChar(); }
-  virtual void unfilteredReset () { reset (); } 
+  int getUnfilteredChar () override { return getChar(); }
+  void unfilteredReset () override { reset (); } 
 
 private:
 
-  virtual GBool hasGetChars() { return true; }
-  virtual int getChars(int nChars, Guchar *buffer);
+  GBool hasGetChars() override { return true; }
+  int getChars(int nChars, Guchar *buffer) override;
 
   char *buf;
   Goffset start;
@@ -610,27 +610,27 @@
 public:
 
   EmbedStream(Stream *strA, Object *dictA, GBool limitedA, Goffset lengthA);
-  virtual ~EmbedStream();
-  virtual BaseStream *copy();
-  virtual Stream *makeSubStream(Goffset start, GBool limitedA,
-				Goffset lengthA, Object *dictA);
-  virtual StreamKind getKind() { return str->getKind(); }
-  virtual void reset() {}
-  virtual int getChar();
-  virtual int lookChar();
-  virtual Goffset getPos() { return str->getPos(); }
-  virtual void setPos(Goffset pos, int dir = 0);
-  virtual Goffset getStart();
-  virtual void moveStart(Goffset delta);
+  ~EmbedStream();
+  BaseStream *copy() override;
+  Stream *makeSubStream(Goffset start, GBool limitedA,
+				Goffset lengthA, Object *dictA) override;
+  StreamKind getKind() override { return str->getKind(); }
+  void reset() override {}
+  int getChar() override;
+  int lookChar() override;
+  Goffset getPos() override { return str->getPos(); }
+  void setPos(Goffset pos, int dir = 0) override;
+  Goffset getStart() override;
+  void moveStart(Goffset delta) override;
 
-  virtual int getUnfilteredChar () { return str->getUnfilteredChar(); }
-  virtual void unfilteredReset () { str->unfilteredReset(); }
+  int getUnfilteredChar () override { return str->getUnfilteredChar(); }
+  void unfilteredReset () override { str->unfilteredReset(); }
 
 
 private:
 
-  virtual GBool hasGetChars() { return true; }
-  virtual int getChars(int nChars, Guchar *buffer);
+  GBool hasGetChars() override { return true; }
+  int getChars(int nChars, Guchar *buffer) override;
 
   Stream *str;
   GBool limited;
@@ -644,14 +644,14 @@
 public:
 
   ASCIIHexStream(Stream *strA);
-  virtual ~ASCIIHexStream();
-  virtual StreamKind getKind() { return strASCIIHex; }
-  virtual void reset();
-  virtual int getChar()
+  ~ASCIIHexStream();
+  StreamKind getKind() override { return strASCIIHex; }
+  void reset() override;
+  int getChar() override
     { int c = lookChar(); buf = EOF; return c; }
-  virtual int lookChar();
-  virtual GooString *getPSFilter(int psLevel, const char *indent);
-  virtual GBool isBinary(GBool last = gTrue);
+  int lookChar() override;
+  GooString *getPSFilter(int psLevel, const char *indent) override;
+  GBool isBinary(GBool last = gTrue) override;
 
 private:
 
@@ -667,14 +667,14 @@
 public:
 
   ASCII85Stream(Stream *strA);
-  virtual ~ASCII85Stream();
-  virtual StreamKind getKind() { return strASCII85; }
-  virtual void reset();
-  virtual int getChar()
+  ~ASCII85Stream();
+  StreamKind getKind() override { return strASCII85; }
+  void reset() override;
+  int getChar() override
     { int ch = lookChar(); ++index; return ch; }
-  virtual int lookChar();
-  virtual GooString *getPSFilter(int psLevel, const char *indent);
-  virtual GBool isBinary(GBool last = gTrue);
+  int lookChar() override;
+  GooString *getPSFilter(int psLevel, const char *indent) override;
+  GBool isBinary(GBool last = gTrue) override;
 
 private:
 
@@ -693,20 +693,20 @@
 
   LZWStream(Stream *strA, int predictor, int columns, int colors,
 	    int bits, int earlyA);
-  virtual ~LZWStream();
-  virtual StreamKind getKind() { return strLZW; }
-  virtual void reset();
-  virtual int getChar();
-  virtual int lookChar();
-  virtual int getRawChar();
-  virtual void getRawChars(int nChars, int *buffer);
-  virtual GooString *getPSFilter(int psLevel, const char *indent);
-  virtual GBool isBinary(GBool last = gTrue);
+  ~LZWStream();
+  StreamKind getKind() override { return strLZW; }
+  void reset() override;
+  int getChar() override;
+  int lookChar() override;
+  int getRawChar() override;
+  void getRawChars(int nChars, int *buffer) override;
+  GooString *getPSFilter(int psLevel, const char *indent) override;
+  GBool isBinary(GBool last = gTrue) override;
 
 private:
 
-  virtual GBool hasGetChars() { return true; }
-  virtual int getChars(int nChars, Guchar *buffer);
+  GBool hasGetChars() override { return true; }
+  int getChars(int nChars, Guchar *buffer) override;
 
   inline int doGetRawChar() {
     if (eof) {
@@ -752,20 +752,20 @@
 public:
 
   RunLengthStream(Stream *strA);
-  virtual ~RunLengthStream();
-  virtual StreamKind getKind() { return strRunLength; }
-  virtual void reset();
-  virtual int getChar()
+  ~RunLengthStream();
+  StreamKind getKind() override { return strRunLength; }
+  void reset() override;
+  int getChar() override
     { return (bufPtr >= bufEnd && !fillBuf()) ? EOF : (*bufPtr++ & 0xff); }
-  virtual int lookChar()
+  int lookChar() override
     { return (bufPtr >= bufEnd && !fillBuf()) ? EOF : (*bufPtr & 0xff); }
-  virtual GooString *getPSFilter(int psLevel, const char *indent);
-  virtual GBool isBinary(GBool last = gTrue);
+  GooString *getPSFilter(int psLevel, const char *indent) override;
+  GBool isBinary(GBool last = gTrue) override;
 
 private:
 
-  virtual GBool hasGetChars() { return true; }
-  virtual int getChars(int nChars, Guchar *buffer);
+  GBool hasGetChars() override { return true; }
+  int getChars(int nChars, Guchar *buffer) override;
 
   char buf[128];		// buffer
   char *bufPtr;			// next char to read
@@ -787,16 +787,16 @@
   CCITTFaxStream(Stream *strA, int encodingA, GBool endOfLineA,
 		 GBool byteAlignA, int columnsA, int rowsA,
 		 GBool endOfBlockA, GBool blackA);
-  virtual ~CCITTFaxStream();
-  virtual StreamKind getKind() { return strCCITTFax; }
-  virtual void reset();
-  virtual int getChar()
+  ~CCITTFaxStream();
+  StreamKind getKind() override { return strCCITTFax; }
+  void reset() override;
+  int getChar() override
     { int c = lookChar(); buf = EOF; return c; }
-  virtual int lookChar();
-  virtual GooString *getPSFilter(int psLevel, const char *indent);
-  virtual GBool isBinary(GBool last = gTrue);
+  int lookChar() override;
+  GooString *getPSFilter(int psLevel, const char *indent) override;
+  GBool isBinary(GBool last = gTrue) override;
 
-  virtual void unfilteredReset ();
+  void unfilteredReset () override;
 
   int getEncoding() { return encoding; }
   GBool getEndOfLine() { return endOfLine; }
@@ -977,16 +977,16 @@
 
   FlateStream(Stream *strA, int predictor, int columns,
 	      int colors, int bits);
-  virtual ~FlateStream();
-  virtual StreamKind getKind() { return strFlate; }
-  virtual void reset();
-  virtual int getChar();
-  virtual int lookChar();
-  virtual int getRawChar();
-  virtual void getRawChars(int nChars, int *buffer);
-  virtual GooString *getPSFilter(int psLevel, const char *indent);
-  virtual GBool isBinary(GBool last = gTrue);
-  virtual void unfilteredReset ();
+  ~FlateStream();
+  StreamKind getKind() override { return strFlate; }
+  void reset() override;
+  int getChar() override;
+  int lookChar() override;
+  int getRawChar() override;
+  void getRawChars(int nChars, int *buffer) override;
+  GooString *getPSFilter(int psLevel, const char *indent) override;
+  GBool isBinary(GBool last = gTrue) override;
+  void unfilteredReset () override;
 
 private:
   void flateReset(GBool unfiltered);
@@ -1004,8 +1004,8 @@
     return c;
   }
 
-  virtual GBool hasGetChars() { return true; }
-  virtual int getChars(int nChars, Guchar *buffer);
+  GBool hasGetChars() override { return true; }
+  int getChars(int nChars, Guchar *buffer) override;
 
   StreamPredictor *pred;	// predictor
   Guchar buf[flateWindow];	// output data buffer
@@ -1051,13 +1051,13 @@
 public:
 
   EOFStream(Stream *strA);
-  virtual ~EOFStream();
-  virtual StreamKind getKind() { return strWeird; }
-  virtual void reset() {}
-  virtual int getChar() { return EOF; }
-  virtual int lookChar() { return EOF; }
-  virtual GooString *getPSFilter(int /*psLevel*/, const char * /*indent*/)  { return NULL; }
-  virtual GBool isBinary(GBool /*last = gTrue*/) { return gFalse; }
+  ~EOFStream();
+  StreamKind getKind() override { return strWeird; }
+  void reset() override {}
+  int getChar() override { return EOF; }
+  int lookChar() override { return EOF; }
+  GooString *getPSFilter(int /*psLevel*/, const char * /*indent*/) override  { return NULL; }
+  GBool isBinary(GBool /*last = gTrue*/) override { return gFalse; }
 };
 
 //------------------------------------------------------------------------
@@ -1068,14 +1068,14 @@
 public:
 
   BufStream(Stream *strA, int bufSizeA);
-  virtual ~BufStream();
-  virtual StreamKind getKind() { return strWeird; }
-  virtual void reset();
-  virtual int getChar();
-  virtual int lookChar();
-  virtual GooString *getPSFilter(int psLevel, const char *indent)
+  ~BufStream();
+  StreamKind getKind() override { return strWeird; }
+  void reset() override;
+  int getChar() override;
+  int lookChar() override;
+  GooString *getPSFilter(int psLevel, const char *indent) override
     { return NULL; }
-  virtual GBool isBinary(GBool last = gTrue);
+  GBool isBinary(GBool last = gTrue) override;
 
   int lookChar(int idx);
 
@@ -1094,13 +1094,13 @@
 
   FixedLengthEncoder(Stream *strA, int lengthA);
   ~FixedLengthEncoder();
-  virtual StreamKind getKind() { return strWeird; }
-  virtual void reset();
-  virtual int getChar();
-  virtual int lookChar();
-  virtual GooString *getPSFilter(int /*psLevel*/, const char * /*indent*/) { return NULL; }
-  virtual GBool isBinary(GBool /*last = gTrue*/);
-  virtual GBool isEncoder() { return gTrue; }
+  StreamKind getKind() override { return strWeird; }
+  void reset() override;
+  int getChar() override;
+  int lookChar() override;
+  GooString *getPSFilter(int /*psLevel*/, const char * /*indent*/) override { return NULL; }
+  GBool isBinary(GBool /*last = gTrue*/) override;
+  GBool isEncoder() override { return gTrue; }
 
 private:
 
@@ -1116,16 +1116,16 @@
 public:
 
   ASCIIHexEncoder(Stream *strA);
-  virtual ~ASCIIHexEncoder();
-  virtual StreamKind getKind() { return strWeird; }
-  virtual void reset();
-  virtual int getChar()
+  ~ASCIIHexEncoder();
+  StreamKind getKind() override { return strWeird; }
+  void reset() override;
+  int getChar() override
     { return (bufPtr >= bufEnd && !fillBuf()) ? EOF : (*bufPtr++ & 0xff); }
-  virtual int lookChar()
+  int lookChar() override
     { return (bufPtr >= bufEnd && !fillBuf()) ? EOF : (*bufPtr & 0xff); }
-  virtual GooString *getPSFilter(int /*psLevel*/, const char * /*indent*/) { return NULL; }
-  virtual GBool isBinary(GBool /*last = gTrue*/) { return gFalse; }
-  virtual GBool isEncoder() { return gTrue; }
+  GooString *getPSFilter(int /*psLevel*/, const char * /*indent*/) override { return NULL; }
+  GBool isBinary(GBool /*last = gTrue*/) override { return gFalse; }
+  GBool isEncoder() override { return gTrue; }
 
 private:
 
@@ -1146,16 +1146,16 @@
 public:
 
   ASCII85Encoder(Stream *strA);
-  virtual ~ASCII85Encoder();
-  virtual StreamKind getKind() { return strWeird; }
-  virtual void reset();
-  virtual int getChar()
+  ~ASCII85Encoder();
+  StreamKind getKind() override { return strWeird; }
+  void reset() override;
+  int getChar() override
     { return (bufPtr >= bufEnd && !fillBuf()) ? EOF : (*bufPtr++ & 0xff); }
-  virtual int lookChar()
+  int lookChar() override
     { return (bufPtr >= bufEnd && !fillBuf()) ? EOF : (*bufPtr & 0xff); }
-  virtual GooString *getPSFilter(int /*psLevel*/, const char * /*indent*/) { return NULL; }
-  virtual GBool isBinary(GBool /*last = gTrue*/) { return gFalse; }
-  virtual GBool isEncoder() { return gTrue; }
+  GooString *getPSFilter(int /*psLevel*/, const char * /*indent*/) override { return NULL; }
+  GBool isBinary(GBool /*last = gTrue*/) override { return gFalse; }
+  GBool isEncoder() override { return gTrue; }
 
 private:
 
@@ -1176,16 +1176,16 @@
 public:
 
   RunLengthEncoder(Stream *strA);
-  virtual ~RunLengthEncoder();
-  virtual StreamKind getKind() { return strWeird; }
-  virtual void reset();
-  virtual int getChar()
+  ~RunLengthEncoder();
+  StreamKind getKind() override { return strWeird; }
+  void reset() override;
+  int getChar() override
     { return (bufPtr >= bufEnd && !fillBuf()) ? EOF : (*bufPtr++ & 0xff); }
-  virtual int lookChar()
+  int lookChar() override
     { return (bufPtr >= bufEnd && !fillBuf()) ? EOF : (*bufPtr & 0xff); }
-  virtual GooString *getPSFilter(int /*psLevel*/, const char * /*indent*/) { return NULL; }
-  virtual GBool isBinary(GBool /*last = gTrue*/) { return gTrue; }
-  virtual GBool isEncoder() { return gTrue; }
+  GooString *getPSFilter(int /*psLevel*/, const char * /*indent*/) override { return NULL; }
+  GBool isBinary(GBool /*last = gTrue*/) override { return gTrue; }
+  GBool isEncoder() override { return gTrue; }
 
 private:
 
@@ -1212,15 +1212,15 @@
 public:
 
   LZWEncoder(Stream *strA);
-  virtual ~LZWEncoder();
-  virtual StreamKind getKind() { return strWeird; }
-  virtual void reset();
-  virtual int getChar();
-  virtual int lookChar();
-  virtual GooString *getPSFilter(int psLevel, const char *indent)
+  ~LZWEncoder();
+  StreamKind getKind() override { return strWeird; }
+  void reset() override;
+  int getChar() override;
+  int lookChar() override;
+  GooString *getPSFilter(int psLevel, const char *indent) override
     { return NULL; }
-  virtual GBool isBinary(GBool last = gTrue) { return gTrue; }
-  virtual GBool isEncoder() { return gTrue; }
+  GBool isBinary(GBool last = gTrue) override { return gTrue; }
+  GBool isEncoder() override { return gTrue; }
 
 private:
 
@@ -1244,16 +1244,16 @@
 public:
 
   CMYKGrayEncoder(Stream *strA);
-  virtual ~CMYKGrayEncoder();
-  virtual StreamKind getKind() { return strWeird; }
-  virtual void reset();
-  virtual int getChar()
+  ~CMYKGrayEncoder();
+  StreamKind getKind() override { return strWeird; }
+  void reset() override;
+  int getChar() override
     { return (bufPtr >= bufEnd && !fillBuf()) ? EOF : (*bufPtr++ & 0xff); }
-  virtual int lookChar()
+  int lookChar() override
     { return (bufPtr >= bufEnd && !fillBuf()) ? EOF : (*bufPtr & 0xff); }
-  virtual GooString *getPSFilter(int /*psLevel*/, const char * /*indent*/) { return NULL; }
-  virtual GBool isBinary(GBool /*last = gTrue*/) { return gFalse; }
-  virtual GBool isEncoder() { return gTrue; }
+  GooString *getPSFilter(int /*psLevel*/, const char * /*indent*/) override { return NULL; }
+  GBool isBinary(GBool /*last = gTrue*/) override { return gFalse; }
+  GBool isEncoder() override { return gTrue; }
 
 private:
 
@@ -1273,16 +1273,16 @@
 public:
 
   RGBGrayEncoder(Stream *strA);
-  virtual ~RGBGrayEncoder();
-  virtual StreamKind getKind() { return strWeird; }
-  virtual void reset();
-  virtual int getChar()
+  ~RGBGrayEncoder();
+  StreamKind getKind() override { return strWeird; }
+  void reset() override;
+  int getChar() override
     { return (bufPtr >= bufEnd && !fillBuf()) ? EOF : (*bufPtr++ & 0xff); }
-  virtual int lookChar()
+  int lookChar() override
     { return (bufPtr >= bufEnd && !fillBuf()) ? EOF : (*bufPtr & 0xff); }
-  virtual GooString *getPSFilter(int /*psLevel*/, const char * /*indent*/) { return NULL; }
-  virtual GBool isBinary(GBool /*last = gTrue*/) { return gFalse; }
-  virtual GBool isEncoder() { return gTrue; }
+  GooString *getPSFilter(int /*psLevel*/, const char * /*indent*/) override { return NULL; }
+  GBool isBinary(GBool /*last = gTrue*/) override { return gFalse; }
+  GBool isEncoder() override { return gTrue; }
 
 private:
 

Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/TextOutputDev.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/TextOutputDev.cc	2017-03-19 22:35:40 UTC (rev 43550)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/TextOutputDev.cc	2017-03-19 22:36:16 UTC (rev 43551)
@@ -4327,20 +4327,20 @@
 class TextSelectionDumper : public TextSelectionVisitor {
 public:
   TextSelectionDumper(TextPage *page);
-  virtual ~TextSelectionDumper();
+  ~TextSelectionDumper();
 
-  virtual void visitBlock (TextBlock *block, 
+  void visitBlock (TextBlock *block, 
 			   TextLine *begin,
 			   TextLine *end,
-			   PDFRectangle *selection) { };
-  virtual void visitLine (TextLine *line,
+			   PDFRectangle *selection) override { };
+  void visitLine (TextLine *line,
 			  TextWord *begin,
 			  TextWord *end,
 			  int edge_begin,
 			  int edge_end,
-			  PDFRectangle *selection);
-  virtual void visitWord (TextWord *word, int begin, int end,
-			  PDFRectangle *selection);
+			  PDFRectangle *selection) override;
+  void visitWord (TextWord *word, int begin, int end,
+			  PDFRectangle *selection) override;
   void endPage();
 
   GooString *getText(void);
@@ -4498,18 +4498,18 @@
   TextSelectionSizer(TextPage *page, double scale);
   ~TextSelectionSizer() { }
 
-  virtual void visitBlock (TextBlock *block,
+  void visitBlock (TextBlock *block,
 			   TextLine *begin,
 			   TextLine *end,
-			   PDFRectangle *selection) { };
-  virtual void visitLine (TextLine *line, 
+			   PDFRectangle *selection) override { };
+  void visitLine (TextLine *line, 
 			  TextWord *begin,
 			  TextWord *end,
 			  int edge_begin,
 			  int edge_end,
-			  PDFRectangle *selection);
-  virtual void visitWord (TextWord *word, int begin, int end,
-			  PDFRectangle *selection) { };
+			  PDFRectangle *selection) override;
+  void visitWord (TextWord *word, int begin, int end,
+			  PDFRectangle *selection) override { };
 
   GooList *getRegion () { return list; }
 
@@ -4559,18 +4559,18 @@
 		       GfxColor *glyph_color);
   ~TextSelectionPainter();
 
-  virtual void visitBlock (TextBlock *block,
+  void visitBlock (TextBlock *block,
 			   TextLine *begin,
 			   TextLine *end,
-			   PDFRectangle *selection) { };
-  virtual void visitLine (TextLine *line, 
+			   PDFRectangle *selection) override { };
+  void visitLine (TextLine *line, 
 			  TextWord *begin,
 			  TextWord *end,
 			  int edge_begin,
 			  int edge_end,
-			  PDFRectangle *selection);
-  virtual void visitWord (TextWord *word, int begin, int end,
-			  PDFRectangle *selection);
+			  PDFRectangle *selection) override;
+  void visitWord (TextWord *word, int begin, int end,
+			  PDFRectangle *selection) override;
   void endPage();
 
 private:

Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/TextOutputDev.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/TextOutputDev.h	2017-03-19 22:35:40 UTC (rev 43550)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/TextOutputDev.h	2017-03-19 22:36:16 UTC (rev 43551)
@@ -745,7 +745,7 @@
 		GBool rawOrderA);
 
   // Destructor.
-  virtual ~TextOutputDev();
+  ~TextOutputDev();
 
   // Check if file was successfully created.
   virtual GBool isOk() { return ok; }
@@ -754,54 +754,54 @@
 
   // Does this device use upside-down coordinates?
   // (Upside-down means (0,0) is the top left corner of the page.)
-  virtual GBool upsideDown() { return gTrue; }
+  GBool upsideDown() override { return gTrue; }
 
   // Does this device use drawChar() or drawString()?
-  virtual GBool useDrawChar() { return gTrue; }
+  GBool useDrawChar() override { return gTrue; }
 
   // Does this device use beginType3Char/endType3Char?  Otherwise,
   // text in Type 3 fonts will be drawn with drawChar/drawString.
-  virtual GBool interpretType3Chars() { return gFalse; }
+  GBool interpretType3Chars() override { return gFalse; }
 
   // Does this device need non-text content?
-  virtual GBool needNonText() { return gFalse; }
+  GBool needNonText() override { return gFalse; }
 
   // Does this device require incCharCount to be called for text on
   // non-shown layers?
-  virtual GBool needCharCount() { return gTrue; }
+  GBool needCharCount() override { return gTrue; }
 
   //----- initialization and control
 
   // Start a page.
-  virtual void startPage(int pageNum, GfxState *state, XRef *xref);
+  void startPage(int pageNum, GfxState *state, XRef *xref) override;
 
   // End a page.
-  virtual void endPage();
+  void endPage() override;
 
   //----- save/restore graphics state
-  virtual void restoreState(GfxState *state);
+  void restoreState(GfxState *state) override;
 
   //----- update text state
-  virtual void updateFont(GfxState *state);
+  void updateFont(GfxState *state) override;
 
   //----- text drawing
-  virtual void beginString(GfxState *state, GooString *s);
-  virtual void endString(GfxState *state);
-  virtual void drawChar(GfxState *state, double x, double y,
-			double dx, double dy,
-			double originX, double originY,
-			CharCode c, int nBytes, Unicode *u, int uLen);
-  virtual void incCharCount(int nChars);
-  virtual void beginActualText(GfxState *state, GooString *text);
-  virtual void endActualText(GfxState *state);
+  void beginString(GfxState *state, GooString *s) override;
+  void endString(GfxState *state) override;
+  void drawChar(GfxState *state, double x, double y,
+		double dx, double dy,
+		double originX, double originY,
+		CharCode c, int nBytes, Unicode *u, int uLen) override;
+  void incCharCount(int nChars) override;
+  void beginActualText(GfxState *state, GooString *text) override;
+  void endActualText(GfxState *state) override;
 
   //----- path painting
-  virtual void stroke(GfxState *state);
-  virtual void fill(GfxState *state);
-  virtual void eoFill(GfxState *state);
+  void stroke(GfxState *state) override;
+  void fill(GfxState *state) override;
+  void eoFill(GfxState *state) override;
 
   //----- link borders
-  virtual void processLink(AnnotLink *link);
+  void processLink(AnnotLink *link) override;
 
   //----- special access
 

Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/XRef.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/XRef.cc	2017-03-19 22:35:40 UTC (rev 43550)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/XRef.cc	2017-03-19 22:36:16 UTC (rev 43551)
@@ -117,7 +117,7 @@
     {
     }
 
-    bool operator==(const PopplerCacheKey &key) const
+    bool operator==(const PopplerCacheKey &key) const override
     {
       const ObjectStreamKey *k = static_cast<const ObjectStreamKey*>(&key);
       return objStrNum == k->objStrNum;

Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/XRef.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/XRef.h	2017-03-19 22:35:40 UTC (rev 43550)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/XRef.h	2017-03-19 22:36:16 UTC (rev 43551)
@@ -262,8 +262,8 @@
   class XRefTableWriter: public XRefWriter {
   public:
     XRefTableWriter(OutStream* outStrA);
-    void startSection(int first, int count);
-    void writeEntry(Goffset offset, int gen, XRefEntryType type);
+    void startSection(int first, int count) override;
+    void writeEntry(Goffset offset, int gen, XRefEntryType type) override;
   private:
     OutStream* outStr;
   };
@@ -272,8 +272,8 @@
   class XRefStreamWriter: public XRefWriter {
   public:
     XRefStreamWriter(Object *index, GooString *stmBuf, int offsetSize);
-    void startSection(int first, int count);
-    void writeEntry(Goffset offset, int gen, XRefEntryType type);
+    void startSection(int first, int count) override;
+    void writeEntry(Goffset offset, int gen, XRefEntryType type) override;
   private:
     Object *index;
     GooString *stmBuf;
@@ -284,8 +284,8 @@
   class XRefPreScanWriter: public XRefWriter {
   public:
     XRefPreScanWriter();
-    void startSection(int first, int count);
-    void writeEntry(Goffset offset, int gen, XRefEntryType type);
+    void startSection(int first, int count) override;
+    void writeEntry(Goffset offset, int gen, XRefEntryType type) override;
 
     GBool hasOffsetsBeyond4GB;
   };

Modified: trunk/Build/source/libs/poppler/poppler-src/splash/SplashFTFont.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/splash/SplashFTFont.h	2017-03-19 22:35:40 UTC (rev 43550)
+++ trunk/Build/source/libs/poppler/poppler-src/splash/SplashFTFont.h	2017-03-19 22:36:16 UTC (rev 43551)
@@ -50,19 +50,19 @@
   virtual ~SplashFTFont();
 
   // Munge xFrac and yFrac before calling SplashFont::getGlyph.
-  virtual GBool getGlyph(int c, int xFrac, int yFrac,
-			 SplashGlyphBitmap *bitmap, int x0, int y0, SplashClip *clip, SplashClipResult *clipRes);
+  GBool getGlyph(int c, int xFrac, int yFrac,
+		 SplashGlyphBitmap *bitmap, int x0, int y0, SplashClip *clip, SplashClipResult *clipRes) override;
 
   // Rasterize a glyph.  The <xFrac> and <yFrac> values are the same
   // as described for getGlyph.
-  virtual GBool makeGlyph(int c, int xFrac, int yFrac,
-			  SplashGlyphBitmap *bitmap, int x0, int y0, SplashClip *clip, SplashClipResult *clipRes);
+  GBool makeGlyph(int c, int xFrac, int yFrac,
+		  SplashGlyphBitmap *bitmap, int x0, int y0, SplashClip *clip, SplashClipResult *clipRes) override;
 
   // Return the path for a glyph.
-  virtual SplashPath *getGlyphPath(int c);
+  SplashPath *getGlyphPath(int c) override;
 
   // Return the advance of a glyph. (in 0..1 range)
-  virtual double getGlyphAdvance(int c);
+  double getGlyphAdvance(int c) override;
 
 private:
 

Modified: trunk/Build/source/libs/poppler/poppler-src/splash/SplashFTFontFile.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/splash/SplashFTFontFile.h	2017-03-19 22:35:40 UTC (rev 43550)
+++ trunk/Build/source/libs/poppler/poppler-src/splash/SplashFTFontFile.h	2017-03-19 22:36:16 UTC (rev 43551)
@@ -55,12 +55,12 @@
 					  int codeToGIDLenA,
 					  int faceIndexA=0);
 
-  virtual ~SplashFTFontFile();
+  ~SplashFTFontFile();
 
   // Create a new SplashFTFont, i.e., a scaled instance of this font
   // file.
-  virtual SplashFont *makeFont(SplashCoord *mat,
-			       SplashCoord *textMat);
+  SplashFont *makeFont(SplashCoord *mat,
+		       SplashCoord *textMat) override;
 
 private:
 

Modified: trunk/Build/source/libs/poppler/poppler-src/splash/SplashPattern.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/splash/SplashPattern.h	2017-03-19 22:35:40 UTC (rev 43550)
+++ trunk/Build/source/libs/poppler/poppler-src/splash/SplashPattern.h	2017-03-19 22:36:16 UTC (rev 43551)
@@ -66,17 +66,17 @@
 
   SplashSolidColor(SplashColorPtr colorA);
 
-  virtual SplashPattern *copy() { return new SplashSolidColor(color); }
+  SplashPattern *copy() override { return new SplashSolidColor(color); }
 
-  virtual ~SplashSolidColor();
+  ~SplashSolidColor();
 
-  virtual GBool getColor(int x, int y, SplashColorPtr c);
+  GBool getColor(int x, int y, SplashColorPtr c) override;
 
-  virtual GBool testPosition(int x, int y) { return gFalse; }
+  GBool testPosition(int x, int y) override { return gFalse; }
 
-  virtual GBool isStatic() { return gTrue; }
+  GBool isStatic() override { return gTrue; }
 
-  virtual GBool isCMYK() { return gFalse; }
+  GBool isCMYK() override { return gFalse; }
 
 private:
 

Modified: trunk/Build/source/libs/poppler/version.ac
===================================================================
--- trunk/Build/source/libs/poppler/version.ac	2017-03-19 22:35:40 UTC (rev 43550)
+++ trunk/Build/source/libs/poppler/version.ac	2017-03-19 22:36:16 UTC (rev 43551)
@@ -8,4 +8,4 @@
 dnl --------------------------------------------------------
 dnl
 dnl  m4-include this file to define the current poppler version
-m4_define([poppler_version], [0.52.0])
+m4_define([poppler_version], [0.53.0])



More information about the tex-live-commits mailing list