Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package poppler for openSUSE:Factory checked in at 2021-07-28 19:19:30 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/poppler (Old) and /work/SRC/openSUSE:Factory/.poppler.new.1899 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "poppler" Wed Jul 28 19:19:30 2021 rev:171 rq:908552 version:21.07.0 Changes: -------- --- /work/SRC/openSUSE:Factory/poppler/poppler.changes 2021-06-27 18:58:11.316205648 +0200 +++ /work/SRC/openSUSE:Factory/.poppler.new.1899/poppler.changes 2021-07-28 19:19:47.127655558 +0200 @@ -1,0 +2,12 @@ +Mon Jul 26 21:33:56 UTC 2021 - Dirk M??ller <dmuel...@suse.com> + +- update to 21.07.0: + core: + * JBIG2Stream: Do not consider a size-0 to be an error. Issue #535 + * PSOutputDev: fix off-by-one error for image masking in L1/L2 output. Issue #1088 + * CairoOutputDev: Fix memory leak on broken files + * Minor code improvements + build system: + * set C standard to 11 without extensions + +------------------------------------------------------------------- Old: ---- poppler-21.06.1.tar.xz New: ---- poppler-21.07.0.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ poppler.spec ++++++ --- /var/tmp/diff_new_pack.5GLa1s/_old 2021-07-28 19:19:47.683654829 +0200 +++ /var/tmp/diff_new_pack.5GLa1s/_new 2021-07-28 19:19:47.687654824 +0200 @@ -1,5 +1,5 @@ # -# spec file for package poppler%{?psuffix} +# spec file # # Copyright (c) 2021 SUSE LLC # @@ -22,10 +22,6 @@ %else %global psuffix -%{flavor} %endif -# Don't build poppler-qt6 on Leap <= 15.3 -%if "%{flavor}" == "qt6" && (0%{?suse_version} <= 1500 && 0%{?sle_version} <= 150300) -ExclusiveArch: do_not_build -%endif # Actual version of poppler-data: %define poppler_data_version 0.4.10 %define poppler_sover 111 @@ -36,7 +32,7 @@ %define poppler_api 0.18 %define poppler_apipkg 0_18 Name: poppler%{?psuffix} -Version: 21.06.1 +Version: 21.07.0 Release: 0 Summary: PDF Rendering Library License: GPL-2.0-only OR GPL-3.0-only @@ -46,16 +42,11 @@ Source99: baselibs.conf BuildRequires: cmake >= 3.10 BuildRequires: gcc-c++ -BuildRequires: pkgconfig(glib-2.0) -BuildRequires: pkgconfig(gobject-introspection-1.0) BuildRequires: gtk-doc BuildRequires: libboost_headers-devel >= 1.58 -BuildRequires: pkgconfig(libjpeg) -BuildRequires: pkgconfig(libtiff-4) BuildRequires: openjpeg2 BuildRequires: pkgconfig BuildRequires: update-desktop-files -BuildRequires: pkgconfig(zlib) BuildRequires: pkgconfig(cairo) >= 1.10.0 BuildRequires: pkgconfig(cairo-ft) >= 1.10.0 BuildRequires: pkgconfig(cairo-pdf) @@ -63,13 +54,22 @@ BuildRequires: pkgconfig(cairo-svg) BuildRequires: pkgconfig(fontconfig) BuildRequires: pkgconfig(freetype2) +BuildRequires: pkgconfig(glib-2.0) BuildRequires: pkgconfig(gobject-2.0) >= 2.41 +BuildRequires: pkgconfig(gobject-introspection-1.0) BuildRequires: pkgconfig(lcms2) BuildRequires: pkgconfig(libcurl) +BuildRequires: pkgconfig(libjpeg) BuildRequires: pkgconfig(libopenjp2) BuildRequires: pkgconfig(libpng) +BuildRequires: pkgconfig(libtiff-4) BuildRequires: pkgconfig(nss) BuildRequires: pkgconfig(poppler-data) +BuildRequires: pkgconfig(zlib) +# Don't build poppler-qt6 on Leap <= 15.3 +%if "%{flavor}" == "qt6" && (0%{?suse_version} <= 1500 && 0%{?sle_version} <= 150300) +ExclusiveArch: do_not_build +%endif %if "%{flavor}" == "qt5" BuildRequires: pkgconfig(Qt5Core) BuildRequires: pkgconfig(Qt5Gui) @@ -281,6 +281,7 @@ %{_libdir}/pkgconfig/poppler-qt6.pc %else + %files -n libpoppler%{poppler_sover} %license COPYING COPYING3 %doc NEWS README.md README-XPDF ++++++ poppler-21.06.1.tar.xz -> poppler-21.07.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poppler-21.06.1/.gitlab-ci.yml new/poppler-21.07.0/.gitlab-ci.yml --- old/poppler-21.06.1/.gitlab-ci.yml 2021-06-03 22:42:20.000000000 +0200 +++ new/poppler-21.07.0/.gitlab-ci.yml 2021-07-02 23:07:57.000000000 +0200 @@ -70,9 +70,9 @@ - cmake -G Ninja .. - ninja -build_mingw64_fedora34: +build_mingw64_fedora33: stage: build - image: fedora:34 + image: fedora:33 before_script: - dnf install -y 'dnf-command(builddep)' - dnf builddep -y mingw64-poppler diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poppler-21.06.1/CMakeLists.txt new/poppler-21.07.0/CMakeLists.txt --- old/poppler-21.06.1/CMakeLists.txt 2021-06-03 22:42:20.000000000 +0200 +++ new/poppler-21.07.0/CMakeLists.txt 2021-07-02 23:07:57.000000000 +0200 @@ -35,15 +35,17 @@ endif() set(POPPLER_MAJOR_VERSION "21") -set(POPPLER_MINOR_VERSION_STRING "06") +set(POPPLER_MINOR_VERSION_STRING "07") # We want the string version to have 08 but the integer version can't have a leading 0 since otherwise it's considered octal # So strip a leading 0 if found in POPPLER_MINOR_VERSION_STRING and store the result in POPPLER_MINOR_VERSION string(REGEX REPLACE "^0?(.+)$" "\\1" POPPLER_MINOR_VERSION "${POPPLER_MINOR_VERSION_STRING}") -set(POPPLER_MICRO_VERSION "1") +set(POPPLER_MICRO_VERSION "0") set(POPPLER_VERSION "${POPPLER_MAJOR_VERSION}.${POPPLER_MINOR_VERSION_STRING}.${POPPLER_MICRO_VERSION}") set(CMAKE_CXX_STANDARD 14) set(CMAKE_CXX_EXTENSIONS OFF) +set(CMAKE_C_STANDARD 11) +set(CMAKE_C_EXTENSIONS OFF) set(CMAKE_LINK_DEPENDS_NO_SHARED TRUE) set(CMAKE_C_VISIBILITY_PRESET hidden) set(CMAKE_CXX_VISIBILITY_PRESET hidden) @@ -57,8 +59,7 @@ option(BUILD_QT6_TESTS "Whether to compile the Qt6 test programs." ON) option(BUILD_CPP_TESTS "Whether to compile the CPP test programs." ON) option(BUILD_MANUAL_TESTS "Whether to compile manual test programs." ON) -option(ENABLE_SPLASH "Build the Splash graphics backend." ON) -option(ENABLE_BOOST "Use boost (when Splash is built)." ON) +option(ENABLE_BOOST "Use boost (for Splash backend performance)." ON) option(ENABLE_UTILS "Compile poppler command line utils." ON) option(ENABLE_CPP "Compile poppler cpp wrapper." ON) option(ENABLE_GLIB "Compile poppler glib wrapper." ON) @@ -181,17 +182,14 @@ endif() endif() -# Check for rendering backends (Splash included unless disabled) -set(HAVE_SPLASH ${ENABLE_SPLASH}) +# Check for Cairo rendering backend macro_optional_find_package(Cairo ${CAIRO_VERSION}) -if(ENABLE_SPLASH) - find_package(Boost 1.58.0) - if(Boost_FOUND) - set(USE_BOOST_HEADERS ON) - elseif(ENABLE_BOOST) - message(FATAL_ERROR "-- Boost recommended for Splash. Use ENABLE_BOOST=OFF to skip.") - endif() +find_package(Boost 1.58.0) +if(Boost_FOUND) + set(USE_BOOST_HEADERS ON) +elseif(ENABLE_BOOST) + message(FATAL_ERROR "-- Boost recommended for Splash. Use ENABLE_BOOST=OFF to skip.") endif() if(CAIRO_FOUND) @@ -442,29 +440,25 @@ poppler/Rendition.cc poppler/CertificateInfo.cc poppler/BBoxOutputDev.cc + poppler/SplashOutputDev.cc + splash/Splash.cc + splash/SplashBitmap.cc + splash/SplashClip.cc + splash/SplashFTFont.cc + splash/SplashFTFontEngine.cc + splash/SplashFTFontFile.cc + splash/SplashFont.cc + splash/SplashFontEngine.cc + splash/SplashFontFile.cc + splash/SplashFontFileID.cc + splash/SplashPath.cc + splash/SplashPattern.cc + splash/SplashScreen.cc + splash/SplashState.cc + splash/SplashXPath.cc + splash/SplashXPathScanner.cc ) set(poppler_LIBS ${FREETYPE_LIBRARIES}) -if(ENABLE_SPLASH) - set(poppler_SRCS ${poppler_SRCS} - poppler/SplashOutputDev.cc - splash/Splash.cc - splash/SplashBitmap.cc - splash/SplashClip.cc - splash/SplashFTFont.cc - splash/SplashFTFontEngine.cc - splash/SplashFTFontFile.cc - splash/SplashFont.cc - splash/SplashFontEngine.cc - splash/SplashFontFile.cc - splash/SplashFontFileID.cc - splash/SplashPath.cc - splash/SplashPattern.cc - splash/SplashScreen.cc - splash/SplashState.cc - splash/SplashXPath.cc - splash/SplashXPathScanner.cc - ) -endif() if(FONTCONFIG_FOUND) set(poppler_LIBS ${poppler_LIBS} ${FONTCONFIG_LIBRARIES}) endif() @@ -662,6 +656,7 @@ poppler/Sound.h ${CMAKE_CURRENT_BINARY_DIR}/poppler_private_export.h ${CMAKE_CURRENT_BINARY_DIR}/poppler/poppler-config.h + poppler/SplashOutputDev.h DESTINATION include/poppler) install(FILES goo/GooTimer.h @@ -713,33 +708,28 @@ poppler/JPXStream.h DESTINATION include/poppler) endif() - if(ENABLE_SPLASH) - install(FILES - poppler/SplashOutputDev.h - DESTINATION include/poppler) - install(FILES - splash/Splash.h - splash/SplashBitmap.h - splash/SplashClip.h - splash/SplashErrorCodes.h - splash/SplashFTFont.h - splash/SplashFTFontEngine.h - splash/SplashFTFontFile.h - splash/SplashFont.h - splash/SplashFontEngine.h - splash/SplashFontFile.h - splash/SplashFontFileID.h - splash/SplashGlyphBitmap.h - splash/SplashMath.h - splash/SplashPath.h - splash/SplashPattern.h - splash/SplashScreen.h - splash/SplashState.h - splash/SplashTypes.h - splash/SplashXPath.h - splash/SplashXPathScanner.h - DESTINATION include/poppler/splash) - endif() + install(FILES + splash/Splash.h + splash/SplashBitmap.h + splash/SplashClip.h + splash/SplashErrorCodes.h + splash/SplashFTFont.h + splash/SplashFTFontEngine.h + splash/SplashFTFontFile.h + splash/SplashFont.h + splash/SplashFontEngine.h + splash/SplashFontFile.h + splash/SplashFontFileID.h + splash/SplashGlyphBitmap.h + splash/SplashMath.h + splash/SplashPath.h + splash/SplashPattern.h + splash/SplashScreen.h + splash/SplashState.h + splash/SplashTypes.h + splash/SplashXPath.h + splash/SplashXPathScanner.h + DESTINATION include/poppler/splash) if(CAIRO_FOUND) install(FILES poppler/CairoFontEngine.h @@ -794,10 +784,7 @@ # Summarize build options & display warnings for user message("Building Poppler with support for:") show_end_message("font configuration" ${font_configuration}) -show_end_message_yesno("splash output" ENABLE_SPLASH) -if(ENABLE_SPLASH) - show_end_message_yesno(" use boost" ENABLE_BOOST) -endif() +show_end_message_yesno("use boost (Splash)" ENABLE_BOOST) show_end_message_yesno("cairo output" CAIRO_FOUND) show_end_message_yesno("qt5 wrapper" ENABLE_QT5) show_end_message_yesno("qt6 wrapper" ENABLE_QT6) @@ -818,10 +805,6 @@ show_end_message_yesno("fuzz target" ENABLE_FUZZER) show_end_message("test data dir" ${TESTDATADIR}) -if(NOT ENABLE_SPLASH AND NOT CAIRO_FOUND) - message("Warning: There is no rendering backend enabled") -endif() - if(NOT ENABLE_LIBJPEG AND HAVE_DCT_DECODER) message("Warning: Using libjpeg is recommended. The internal DCT decoder is unmaintained.") endif() @@ -842,7 +825,7 @@ message("Warning: You're not compiling any JPX decoder. Some files will fail to display properly.") endif() -if(ENABLE_SPLASH AND NOT ENABLE_BOOST) +if(NOT ENABLE_BOOST) message("Warning: Use of boost is recommended for better performance.") endif() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poppler-21.06.1/ChangeLog new/poppler-21.07.0/ChangeLog --- old/poppler-21.06.1/ChangeLog 2021-06-03 22:51:08.000000000 +0200 +++ new/poppler-21.07.0/ChangeLog 2021-07-02 23:14:33.000000000 +0200 @@ -1,3 +1,249 @@ +commit 77e545351b7ac359e19422e8158ff00f6dd597d3 +Author: Albert Astals Cid <aa...@kde.org> +Date: Fri Jul 2 23:07:57 2021 +0200 + + poppler 21.07.0 + + CMakeLists.txt | 4 ++-- + NEWS | 10 ++++++++++ + cpp/Doxyfile | 2 +- + qt5/src/Doxyfile | 2 +- + qt6/src/Doxyfile | 2 +- + 5 files changed, 15 insertions(+), 5 deletions(-) + +commit a822ba0e4f7240309eaa180230facbceb6d0e08a +Author: Albert Astals Cid <aa...@kde.org> +Date: Fri Jul 2 23:03:23 2021 +0200 + + Update (C) + + poppler/CairoOutputDev.cc | 1 + + 1 file changed, 1 insertion(+) + +commit 2b2808719d2c91283ae358381391bb0b37d9061d +Author: Oliver Sander <oliver.san...@tu-dresden.de> +Date: Thu Jul 1 21:35:38 2021 +0200 + + JBIG2Stream: Do not abort if size-0 allocations returns nullptr + + The JBIG2SymbolDict constructor gets a size parameter, and it + allocates + memory for a bitmap of that size. Bug report 535 + + https://gitlab.freedesktop.org/poppler/poppler/-/issues/535 + + has a file where this size is 0. In that case, the call to + gmallocn_checkoverflow returns nullptr, and subsequent calls to + JBIG2SymbolDict::isOk return false. This is then interpreted + as an error, and the JBIG2 processing is aborted. For the + test file mentioned above this happens in line 1807. + + I don't know whether such a file with a size-0 symbol dict + is malformed or not. However, the test file renders just fine + if the 'failing' allocation is simply ignored. This patch + therefore relaxes the isOk method a little. A JBIG2SymbolDict + object is now deemed 'ok' either if it holds a bitmap (that was + the previous test) *or if it has size 0*. + + This fixes + + https://gitlab.freedesktop.org/poppler/poppler/-/issues/535 + + poppler/JBIG2Stream.cc | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit 571d8138cb9ccc9ac04219a6a552d8c78e93ad88 +Author: Uli Schlachter <psyc...@znc.in> +Date: Sat Jun 26 12:00:50 2021 +0200 + + ~CairoOutputDev(): Free textClipPath + + The textClipPath member is set in CairoOutputDev::endString() + and freed + in CairoOutputDev::endTextObject(). However, if endTextObject() is not + called for whatever reason, the path will just be leaked. + + This adds code to the destructor to free this. + + This fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=32326 + + Testing done: + + $ wget -O testcase + 'https://oss-fuzz.com/download?testcase_id=6659952325296128' + [...] + $ cmake .. -G Ninja -DENABLE_DCTDECODER=unmaintained + -DENABLE_BOOST=OFF -DENABLE_LIBOPENJPEG=unmaintained && ninja + [...] + $ git describe + poppler-21.06.1-5-gb7c40059 + $ valgrind --leak-check=full ./utils/pdftocairo testcase -png foo + [...] + ==104075== + ==104075== HEAP SUMMARY: + ==104075== in use at exit: 28,292 bytes in 55 blocks + ==104075== total heap usage: 6,114 allocs, 6,059 frees, 1,617,444 + bytes allocated + ==104075== + ==104075== 24 bytes in 1 blocks are definitely lost in loss record + 4 of 37 + ==104075== at 0x483877F: malloc (in + /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) + ==104075== by 0x48AE748: ??? (in + /usr/lib/x86_64-linux-gnu/libcairo.so.2.11600.0) + ==104075== by 0x118995: endString (CairoOutputDev.cc:1474) + ==104075== by 0x118995: CairoOutputDev::endString(GfxState*) + (CairoOutputDev.cc:1412) + ==104075== by 0x4B97295: Gfx::doShowText(GooString const*) + (Gfx.cc:4010) + ==104075== by 0x4B97CB4: Gfx::opShowSpaceText(Object*, int) + (Gfx.cc:3793) + ==104075== by 0x4B8D866: Gfx::go(bool) (Gfx.cc:681) + ==104075== by 0x4B8DCFA: display (Gfx.cc:642) + ==104075== by 0x4B8DCFA: Gfx::display(Object*, bool) (Gfx.cc:622) + ==104075== by 0x4BE1A83: Page::displaySlice(OutputDev*, double, + double, int, bool, bool, int, int, int, int, bool, bool (*)(void*), + void*, bool (*)(Annot*, void*), void*, bool) (Page.cc:576) + ==104075== by 0x11317C: renderPage (pdftocairo.cc:669) + ==104075== by 0x11317C: main (pdftocairo.cc:1183) + ==104075== + ==104075== LEAK SUMMARY: + ==104075== definitely lost: 24 bytes in 1 blocks + ==104075== indirectly lost: 0 bytes in 0 blocks + ==104075== possibly lost: 0 bytes in 0 blocks + ==104075== still reachable: 28,268 bytes in 54 blocks + ==104075== suppressed: 0 bytes in 0 blocks + ==104075== Reachable blocks (those to which a pointer was found) + are not shown. + ==104075== To see them, rerun with: --leak-check=full + --show-leak-kinds=all + ==104075== + ==104075== For lists of detected and suppressed errors, rerun with: -s + ==104075== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: + 0 from 0) + $ git checkout cairo-leak-textClipPath && git describe && ninja + Zu Branch 'cairo-leak-textClipPath' gewechselt + poppler-21.06.1-6-g8df6f8d2 + $ valgrind --leak-check=full ./utils/pdftocairo testcase -png foo + [...] + ==104263== + ==104263== HEAP SUMMARY: + ==104263== in use at exit: 28,268 bytes in 54 blocks + ==104263== total heap usage: 6,114 allocs, 6,060 frees, 1,617,444 + bytes allocated + ==104263== + ==104263== LEAK SUMMARY: + ==104263== definitely lost: 0 bytes in 0 blocks + ==104263== indirectly lost: 0 bytes in 0 blocks + ==104263== possibly lost: 0 bytes in 0 blocks + ==104263== still reachable: 28,268 bytes in 54 blocks + ==104263== suppressed: 0 bytes in 0 blocks + ==104263== Reachable blocks (those to which a pointer was found) + are not shown. + ==104263== To see them, rerun with: --leak-check=full + --show-leak-kinds=all + ==104263== + ==104263== For lists of detected and suppressed errors, rerun with: -s + ==104263== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: + 0 from 0) + + As you (might) see, before this commit, there is a "definitely lost" + leak of 24 bytes with this test case. After this commit, this leak is + gone. + + Signed-off-by: Uli Schlachter <psyc...@znc.in> + + poppler/CairoOutputDev.cc | 4 ++++ + 1 file changed, 4 insertions(+) + +commit c11fbf5a732a041a26359dc7fef103ac44a2346f +Author: Albert Astals Cid <aa...@kde.org> +Date: Sun Jun 27 00:47:48 2021 +0200 + + cmake: set C standard to 11 without extensions + + CMakeLists.txt | 2 ++ + 1 file changed, 2 insertions(+) + +commit b7c400592b5b08d4759b6c45bdd4ff87af75fe46 +Author: Albert Astals Cid <aa...@kde.org> +Date: Wed Jun 16 23:03:24 2021 +0200 + + Update (C) of previous commits + + cpp/poppler-page-renderer.cpp | 1 + + poppler/PSOutputDev.cc | 3 ++- + poppler/PSOutputDev.h | 1 + + poppler/Stream.cc | 1 + + poppler/Stream.h | 1 + + qt5/src/poppler-document.cc | 1 + + qt5/src/poppler-page.cc | 1 + + qt5/src/poppler-private.h | 1 + + qt6/src/poppler-document.cc | 1 + + qt6/src/poppler-page.cc | 1 + + qt6/src/poppler-private.h | 1 + + utils/pdftohtml.cc | 1 + + utils/pdftops.cc | 1 + + 13 files changed, 14 insertions(+), 1 deletion(-) + +commit ce0bd9bf6f41fb058519c99128205da569d83b7c +Author: Hubert Figuiere <h...@figuiere.net> +Date: Wed Jun 16 20:50:49 2021 +0000 + + Remove ENABLE_SPLASH and HAVE_SPLASH (always true) + + CMakeLists.txt | 117 + +++++++++++++++++------------------------ + INSTALL | 2 +- + cpp/poppler-page-renderer.cpp | 18 +------ + poppler/PSOutputDev.cc | 37 ++++--------- + poppler/PSOutputDev.h | 10 +--- + poppler/Stream.cc | 6 +-- + poppler/Stream.h | 4 -- + poppler/poppler-config.h.cmake | 5 -- + qt5/src/poppler-document.cc | 2 - + qt5/src/poppler-page.cc | 12 ++--- + qt5/src/poppler-private.h | 4 +- + qt6/src/poppler-document.cc | 2 - + qt6/src/poppler-page.cc | 12 ++--- + qt6/src/poppler-private.h | 4 +- + test/CMakeLists.txt | 22 ++++---- + utils/CMakeLists.txt | 26 +++++---- + utils/pdftohtml.cc | 19 +------ + utils/pdftops.cc | 24 ++------- + 18 files changed, 102 insertions(+), 224 deletions(-) + +commit 77eb02c23be27ce66b7f99bcd136356e20a0a12d +Author: Philipp Knechtges <philipp-...@knechtges.com> +Date: Sat Jun 12 22:16:43 2021 +0200 + + PSOutputDev: fix off-by-one error for image masking in L1/L2 output + + Fixes issue #1088 + + poppler/PSOutputDev.cc | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +commit 557b86db954d2cbcb9665cec0ea6edb7b0da9e75 +Author: Albert Astals Cid <aa...@kde.org> +Date: Mon Jun 14 21:53:09 2021 +0200 + + Form: make sure quadding has a valid value + + poppler/Form.cc | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +commit 9bcf967b5eadee7c36b32d1595c884c3130339a1 +Author: Albert Astals Cid <aa...@kde.org> +Date: Tue Jun 15 00:37:54 2021 +0200 + + CI: switch mingw CI to fedora 33 + + fedora 34 is giving weird errors around libjpeg + + .gitlab-ci.yml | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + commit b782d4be006c184c49c6b46bec1d23dd28f1683a Author: Albert Astals Cid <aa...@kde.org> Date: Thu Jun 3 22:42:20 2021 +0200 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poppler-21.06.1/INSTALL new/poppler-21.07.0/INSTALL --- old/poppler-21.06.1/INSTALL 2021-06-03 22:42:20.000000000 +0200 +++ new/poppler-21.07.0/INSTALL 2021-07-02 23:07:57.000000000 +0200 @@ -44,7 +44,7 @@ eg - -DENABLE_SPLASH=ON -DBUILD_GTK_TESTS=OFF + -DENABLE_LIBCURL=ON -DBUILD_GTK_TESTS=OFF A list of all options can be display with the commmand: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poppler-21.06.1/NEWS new/poppler-21.07.0/NEWS --- old/poppler-21.06.1/NEWS 2021-06-03 22:42:20.000000000 +0200 +++ new/poppler-21.07.0/NEWS 2021-07-02 23:07:57.000000000 +0200 @@ -1,3 +1,13 @@ +Release 21.07.0: + core: + * JBIG2Stream: Do not consider a size-0 to be an error. Issue #535 + * PSOutputDev: fix off-by-one error for image masking in L1/L2 output. Issue #1088 + * CairoOutputDev: Fix memory leak on broken files + * Minor code improvements + + build system: + * set C standard to 11 without extensions + Release 21.06.1: glib: * fix poppler_rectangle_free() regression. Issue #1087 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poppler-21.06.1/cpp/Doxyfile new/poppler-21.07.0/cpp/Doxyfile --- old/poppler-21.06.1/cpp/Doxyfile 2021-06-03 22:42:20.000000000 +0200 +++ new/poppler-21.07.0/cpp/Doxyfile 2021-07-02 23:07:57.000000000 +0200 @@ -31,7 +31,7 @@ # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 21.06.1 +PROJECT_NUMBER = 21.07.0 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poppler-21.06.1/cpp/poppler-page-renderer.cpp new/poppler-21.07.0/cpp/poppler-page-renderer.cpp --- old/poppler-21.06.1/cpp/poppler-page-renderer.cpp 2021-06-03 22:42:20.000000000 +0200 +++ new/poppler-21.07.0/cpp/poppler-page-renderer.cpp 2021-07-02 23:07:57.000000000 +0200 @@ -4,6 +4,7 @@ * Copyright (C) 2018, Zsombor Hollay-Horvath <hollay.horv...@gmail.com> * Copyright (C) 2019, Juli??n Unrrein <junrr...@gmail.com> * Copyright (C) 2020, Albert Astals Cid <aa...@kde.org> + * Copyright (C) 2021, Hubert Figuiere <h...@figuiere.net> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -33,10 +34,8 @@ #include <poppler-config.h> #include "PDFDoc.h" -#if defined(HAVE_SPLASH) -# include "SplashOutputDev.h" -# include "splash/SplashBitmap.h" -#endif +#include "SplashOutputDev.h" +#include "splash/SplashBitmap.h" using namespace poppler; @@ -45,10 +44,8 @@ public: page_renderer_private() : paper_color(0xffffffff), hints(0), image_format(image::format_enum::format_argb32), line_mode(page_renderer::line_mode_enum::line_default) { } -#if defined(HAVE_SPLASH) static bool conv_color_mode(image::format_enum mode, SplashColorMode &splash_mode); static bool conv_line_mode(page_renderer::line_mode_enum mode, SplashThinLineMode &splash_mode); -#endif argb paper_color; unsigned int hints; @@ -56,7 +53,6 @@ page_renderer::line_mode_enum line_mode; }; -#if defined(HAVE_SPLASH) bool page_renderer_private::conv_color_mode(image::format_enum mode, SplashColorMode &splash_mode) { switch (mode) { @@ -98,7 +94,6 @@ } return true; } -#endif /** \class poppler::page_renderer poppler-page-renderer.h "poppler/cpp/poppler-renderer.h" @@ -263,7 +258,6 @@ return image(); } -#if defined(HAVE_SPLASH) page_private *pp = page_private::get(p); PDFDoc *pdfdoc = pp->doc->doc; @@ -293,9 +287,6 @@ const image img(reinterpret_cast<char *>(data_ptr), bw, bh, d->image_format); return img.copy(); -#else - return image(); -#endif } /** @@ -308,9 +299,5 @@ */ bool page_renderer::can_render() { -#if defined(HAVE_SPLASH) return true; -#else - return false; -#endif } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poppler-21.06.1/glib/reference/html/index.html new/poppler-21.07.0/glib/reference/html/index.html --- old/poppler-21.06.1/glib/reference/html/index.html 2021-06-03 22:47:15.000000000 +0200 +++ new/poppler-21.07.0/glib/reference/html/index.html 2021-07-02 23:11:46.000000000 +0200 @@ -15,7 +15,7 @@ <div> <div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">Poppler Reference Manual</p></th></tr></table></div> <div><p class="releaseinfo"> - for Poppler 21.06.1 + for Poppler 21.07.0 </p></div> </div> <hr> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poppler-21.06.1/glib/reference/html/poppler-Poppler-Features.html new/poppler-21.07.0/glib/reference/html/poppler-Poppler-Features.html --- old/poppler-21.06.1/glib/reference/html/poppler-Poppler-Features.html 2021-06-03 22:47:15.000000000 +0200 +++ new/poppler-21.07.0/glib/reference/html/poppler-Poppler-Features.html 2021-07-02 23:11:46.000000000 +0200 @@ -196,7 +196,7 @@ <hr> <div class="refsect2"> <a name="POPPLER-MICRO-VERSION:CAPS"></a><h3>POPPLER_MICRO_VERSION</h3> -<pre class="programlisting">#define POPPLER_MICRO_VERSION (1) +<pre class="programlisting">#define POPPLER_MICRO_VERSION (0) </pre> <p>The micro version number of the poppler header files (e.g. in poppler version 0.1.2 this is 2.)</p> @@ -205,7 +205,7 @@ <hr> <div class="refsect2"> <a name="POPPLER-MINOR-VERSION:CAPS"></a><h3>POPPLER_MINOR_VERSION</h3> -<pre class="programlisting">#define POPPLER_MINOR_VERSION (6) +<pre class="programlisting">#define POPPLER_MINOR_VERSION (7) </pre> <p>The major version number of the poppler header files (e.g. in poppler version 0.1.2 this is 1.)</p> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poppler-21.06.1/poppler/CairoOutputDev.cc new/poppler-21.07.0/poppler/CairoOutputDev.cc --- old/poppler-21.06.1/poppler/CairoOutputDev.cc 2021-06-03 22:42:20.000000000 +0200 +++ new/poppler-21.07.0/poppler/CairoOutputDev.cc 2021-07-02 23:07:57.000000000 +0200 @@ -34,6 +34,7 @@ // Copyright (C) 2019, 2020 Marek Kasik <mka...@redhat.com> // Copyright (C) 2020 Michal <sudols...@gmail.com> // Copyright (C) 2020 Oliver Sander <oliver.san...@tu-dresden.de> +// Copyright (C) 2021 Uli Schlachter <psyc...@znc.in> // // 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 @@ -179,6 +180,10 @@ if (fontEngine_owner && fontEngine) { delete fontEngine; } + if (textClipPath) { + cairo_path_destroy(textClipPath); + textClipPath = nullptr; + } if (cairo) cairo_destroy(cairo); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poppler-21.06.1/poppler/Form.cc new/poppler-21.07.0/poppler/Form.cc --- old/poppler-21.06.1/poppler/Form.cc 2021-06-03 22:42:20.000000000 +0200 +++ new/poppler-21.07.0/poppler/Form.cc 2021-07-02 23:07:57.000000000 +0200 @@ -2362,8 +2362,12 @@ defaultAppearance = obj1.getString()->copy(); obj1 = acroForm->dictLookup("Q"); - if (obj1.isInt()) - quadding = static_cast<VariableTextQuadding>(obj1.getInt()); + if (obj1.isInt()) { + const int aux = obj1.getInt(); + if (aux == quaddingLeftJustified || aux == quaddingCentered || aux == quaddingRightJustified) { + quadding = static_cast<VariableTextQuadding>(aux); + } + } resDict = acroForm->dictLookup("DR"); if (resDict.isDict()) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poppler-21.06.1/poppler/JBIG2Stream.cc new/poppler-21.07.0/poppler/JBIG2Stream.cc --- old/poppler-21.06.1/poppler/JBIG2Stream.cc 2021-06-03 22:42:20.000000000 +0200 +++ new/poppler-21.07.0/poppler/JBIG2Stream.cc 2021-07-02 23:07:57.000000000 +0200 @@ -967,7 +967,7 @@ unsigned int getSize() { return size; } void setBitmap(unsigned int idx, JBIG2Bitmap *bitmap) { bitmaps[idx] = bitmap; } JBIG2Bitmap *getBitmap(unsigned int idx) { return bitmaps[idx]; } - bool isOk() { return bitmaps != nullptr; } + bool isOk() { return bitmaps != nullptr || size == 0; } void setGenericRegionStats(JArithmeticDecoderStats *stats) { genericRegionStats = stats; } void setRefinementRegionStats(JArithmeticDecoderStats *stats) { refinementRegionStats = stats; } JArithmeticDecoderStats *getGenericRegionStats() { return genericRegionStats; } @@ -1329,6 +1329,7 @@ switch (segType) { case 0: if (!readSymbolDictSeg(segNum, segLength, refSegs, nRefSegs)) { + error(errSyntaxError, curStr->getPos(), "readSymbolDictSeg reports syntax error!"); goto syntaxError; } break; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poppler-21.06.1/poppler/PSOutputDev.cc new/poppler-21.07.0/poppler/PSOutputDev.cc --- old/poppler-21.06.1/poppler/PSOutputDev.cc 2021-06-03 22:42:20.000000000 +0200 +++ new/poppler-21.07.0/poppler/PSOutputDev.cc 2021-07-02 23:07:57.000000000 +0200 @@ -36,7 +36,8 @@ // Copyright (C) 2018 Philipp Knechtges <philipp-...@knechtges.com> // Copyright (C) 2019 Christian Persch <c...@src.gnome.org> // Copyright (C) 2019 Oliver Sander <oliver.san...@tu-dresden.de> -// Copyright (C) 2020 Philipp Knechtges <philipp-...@knechtges.com> +// Copyright (C) 2020, 2021 Philipp Knechtges <philipp-...@knechtges.com> +// Copyright (C) 2021 Hubert Figuiere <h...@figuiere.net> // // 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 @@ -79,11 +80,9 @@ #include "PreScanOutputDev.h" #include "FileSpec.h" #include "CharCodeToUnicode.h" -#ifdef HAVE_SPLASH -# include "splash/Splash.h" -# include "splash/SplashBitmap.h" -# include "SplashOutputDev.h" -#endif +#include "splash/Splash.h" +#include "splash/SplashBitmap.h" +#include "SplashOutputDev.h" #include "PSOutputDev.h" #include "PDFDoc.h" @@ -1263,9 +1262,7 @@ clipLLX0 = clipLLY0 = 0; clipURX0 = clipURY0 = -1; -#ifdef HAVE_SPLASH processColorFormatSpecified = false; -#endif // initialize sequential page number seqPage = 1; @@ -1387,7 +1384,6 @@ numTilingPatterns = 0; nextFunc = 0; -#ifdef HAVE_SPLASH // set some default process color format if none is set if (!processColorFormatSpecified) { if (level == psLevel1) { @@ -1395,7 +1391,7 @@ } else if (level == psLevel1Sep || level == psLevel2Sep || level == psLevel3Sep || globalParams->getOverprintPreview()) { processColorFormat = splashModeCMYK8; } -# ifdef USE_CMS +#ifdef USE_CMS else if (getDisplayProfile()) { auto processcolorspace = cmsGetColorSpace(getDisplayProfile().get()); if (processcolorspace == cmsSigCmykData) { @@ -1406,7 +1402,7 @@ processColorFormat = splashModeRGB8; } } -# endif +#endif else { processColorFormat = splashModeRGB8; } @@ -1424,7 +1420,7 @@ " Resetting processColorFormat to CMYK8."); processColorFormat = splashModeCMYK8; } -# ifdef USE_CMS +#ifdef USE_CMS if (getDisplayProfile()) { auto processcolorspace = cmsGetColorSpace(getDisplayProfile().get()); if (processColorFormat == splashModeCMYK8) { @@ -1441,7 +1437,6 @@ } } } -# endif #endif // initialize embedded font resource comment list @@ -3136,7 +3131,6 @@ { PreScanOutputDev *scan; bool rasterize; -#ifdef HAVE_SPLASH bool useFlate, useLZW; SplashOutputDev *splashOut; SplashColor paperColor; @@ -3156,7 +3150,6 @@ bool isOptimizedGray; bool overprint; SplashColorMode internalColorFormat; -#endif if (!postInitDone) { postInit(); @@ -3175,7 +3168,6 @@ return true; } -#ifdef HAVE_SPLASH // get the rasterization parameters useFlate = getEnableFlate() && level >= psLevel3; useLZW = getEnableLZW(); @@ -3223,12 +3215,12 @@ splashOut = new SplashOutputDev(internalColorFormat, 1, false, paperColor, false, splashThinLineDefault, overprint); splashOut->setFontAntialias(rasterAntialias); splashOut->setVectorAntialias(rasterAntialias); -# ifdef USE_CMS +#ifdef USE_CMS splashOut->setDisplayProfile(getDisplayProfile()); splashOut->setDefaultGrayProfile(getDefaultGrayProfile()); splashOut->setDefaultRGBProfile(getDefaultRGBProfile()); splashOut->setDefaultCMYKProfile(getDefaultCMYKProfile()); -# endif +#endif splashOut->startDoc(doc); // break the page into stripes @@ -3504,7 +3496,7 @@ isOptimizedGray = false; } str0->reset(); -# ifdef ENABLE_ZLIB +#ifdef ENABLE_ZLIB if (useFlate) { if (isOptimizedGray && numComps == 4) { str = new FlateEncoder(new CMYKGrayEncoder(str0)); @@ -3516,7 +3508,7 @@ str = new FlateEncoder(str0); } } else -# endif +#endif if (useLZW) { if (isOptimizedGray && numComps == 4) { str = new LZWEncoder(new CMYKGrayEncoder(str0)); @@ -3619,14 +3611,6 @@ endPage(); return false; - -#else // HAVE_SPLASH - - error(errSyntaxWarning, -1, - "PDF page uses transparency and PSOutputDev was built without" - " the Splash rasterizer - output may not be correct"); - return true; -#endif // HAVE_SPLASH } void PSOutputDev::startPage(int pageNum, GfxState *state, XRef *xrefA) @@ -5620,8 +5604,8 @@ } rectsOut[rectsOutLen].x0 = rects0[i].x0; rectsOut[rectsOutLen].x1 = rects0[i].x1; - rectsOut[rectsOutLen].y0 = maskHeight - y - 1; - rectsOut[rectsOutLen].y1 = maskHeight - rects0[i].y0 - 1; + rectsOut[rectsOutLen].y0 = maskHeight - y; + rectsOut[rectsOutLen].y1 = maskHeight - rects0[i].y0; ++rectsOutLen; ++i; } @@ -5661,8 +5645,8 @@ } rectsOut[rectsOutLen].x0 = rects0[i].x0; rectsOut[rectsOutLen].x1 = rects0[i].x1; - rectsOut[rectsOutLen].y0 = maskHeight - y - 1; - rectsOut[rectsOutLen].y1 = maskHeight - rects0[i].y0 - 1; + rectsOut[rectsOutLen].y0 = maskHeight - y; + rectsOut[rectsOutLen].y1 = maskHeight - rects0[i].y0; ++rectsOutLen; } if (rectsOutLen < 65536 / 4) { @@ -5769,8 +5753,8 @@ } rectsOut[rectsOutLen].x0 = rects0[i].x0; rectsOut[rectsOutLen].x1 = rects0[i].x1; - rectsOut[rectsOutLen].y0 = height - y - 1; - rectsOut[rectsOutLen].y1 = height - rects0[i].y0 - 1; + rectsOut[rectsOutLen].y0 = height - y; + rectsOut[rectsOutLen].y1 = height - rects0[i].y0; ++rectsOutLen; ++i; } @@ -5826,8 +5810,8 @@ } rectsOut[rectsOutLen].x0 = rects0[i].x0; rectsOut[rectsOutLen].x1 = rects0[i].x1; - rectsOut[rectsOutLen].y0 = height - y - 1; - rectsOut[rectsOutLen].y1 = height - rects0[i].y0 - 1; + rectsOut[rectsOutLen].y0 = height - y; + rectsOut[rectsOutLen].y1 = height - rects0[i].y0; ++rectsOutLen; } if (rectsOutLen < 65536 / 4) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poppler-21.06.1/poppler/PSOutputDev.h new/poppler-21.07.0/poppler/PSOutputDev.h --- old/poppler-21.06.1/poppler/PSOutputDev.h 2021-06-03 22:42:20.000000000 +0200 +++ new/poppler-21.07.0/poppler/PSOutputDev.h 2021-07-02 23:07:57.000000000 +0200 @@ -28,6 +28,7 @@ // Copyright (C) 2018 Adam Reichold <adam.reich...@t-online.de> // Copyright (C) 2018, 2020 Philipp Knechtges <philipp-...@knechtges.com> // Copyright (C) 2019 Oliver Sander <oliver.san...@tu-dresden.de> +// Copyright (C) 2021 Hubert Figuiere <h...@figuiere.net> // // 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 @@ -51,9 +52,7 @@ #include <unordered_map> #include <string> -#ifdef HAVE_SPLASH -# include "splash/Splash.h" -#endif +#include "splash/Splash.h" class PDFDoc; class XRef; @@ -309,10 +308,8 @@ void setRasterResolution(double r) { rasterResolution = r; } void setRasterMono(bool b) { -#ifdef HAVE_SPLASH processColorFormat = splashModeMono8; processColorFormatSpecified = true; -#endif } void setUncompressPreloadedImages(bool b) { uncompressPreloadedImages = b; } @@ -349,13 +346,11 @@ void setEnableLZW(bool b) { enableLZW = b; } void setEnableFlate(bool b) { enableFlate = b; } -#ifdef HAVE_SPLASH void setProcessColorFormat(SplashColorMode format) { processColorFormat = format; processColorFormatSpecified = true; } -#endif private: void init(PSOutputFunc outputFuncA, void *outputStreamA, PSFileType fileTypeA, char *psTitleA, PDFDoc *doc, const std::vector<int> &pages, PSOutMode modeA, int imgLLXA, int imgLLYA, int imgURXA, int imgURYA, bool manualCtrlA, @@ -524,10 +519,8 @@ bool enableLZW; // enable LZW compression bool enableFlate; // enable Flate compression -#ifdef HAVE_SPLASH SplashColorMode processColorFormat; bool processColorFormatSpecified; -#endif std::unordered_set<std::string> iccEmitted; // contains ICCBased CSAs that have been emitted diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poppler-21.06.1/poppler/Stream.cc new/poppler-21.07.0/poppler/Stream.cc --- old/poppler-21.06.1/poppler/Stream.cc 2021-06-03 22:42:20.000000000 +0200 +++ new/poppler-21.07.0/poppler/Stream.cc 2021-07-02 23:07:57.000000000 +0200 @@ -39,6 +39,7 @@ // Copyright (C) 2019 Volker Krause <vkra...@kde.org> // Copyright (C) 2019 Alexander Volkov <a.vol...@rusbitech.ru> // Copyright (C) 2020 Philipp Knechtges <philipp-...@knechtges.com> +// Copyright (C) 2021 Hubert Figuiere <h...@figuiere.net> // // 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 @@ -69,9 +70,7 @@ #include "Stream-CCITT.h" #include "CachedFile.h" -#ifdef HAVE_SPLASH -# include "splash/SplashBitmap.h" -#endif +#include "splash/SplashBitmap.h" #ifdef ENABLE_LIBJPEG # include "DCTStream.h" @@ -5179,7 +5178,6 @@ // SplashBitmapCMYKEncoder //------------------------------------------------------------------------ -#ifdef HAVE_SPLASH SplashBitmapCMYKEncoder::SplashBitmapCMYKEncoder(SplashBitmap *bitmapA) : bitmap(bitmapA) { width = (size_t)4 * bitmap->getWidth(); @@ -5251,4 +5249,3 @@ bufPtr = pos % width; } } -#endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poppler-21.06.1/poppler/Stream.h new/poppler-21.07.0/poppler/Stream.h --- old/poppler-21.06.1/poppler/Stream.h 2021-06-03 22:42:20.000000000 +0200 +++ new/poppler-21.07.0/poppler/Stream.h 2021-07-02 23:07:57.000000000 +0200 @@ -30,6 +30,7 @@ // Copyright (C) 2019 Alexander Volkov <a.vol...@rusbitech.ru> // Copyright (C) 2020, 2021 Oliver Sander <oliver.san...@tu-dresden.de> // Copyright (C) 2020 Philipp Knechtges <philipp-...@knechtges.com> +// Copyright (C) 2021 Hubert Figuiere <h...@figuiere.net> // // 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 @@ -49,9 +50,7 @@ class GooFile; class BaseStream; class CachedFile; -#ifdef HAVE_SPLASH class SplashBitmap; -#endif //------------------------------------------------------------------------ @@ -1445,7 +1444,6 @@ // pure CMYK colors. In particular for a DeviceN8 bitmap it redacts the spot colorants. //------------------------------------------------------------------------ -#ifdef HAVE_SPLASH class SplashBitmapCMYKEncoder : public Stream { public: @@ -1485,6 +1483,5 @@ bool fillBuf(); }; -#endif #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poppler-21.06.1/poppler/poppler-config.h.cmake new/poppler-21.07.0/poppler/poppler-config.h.cmake --- old/poppler-21.06.1/poppler/poppler-config.h.cmake 2021-06-03 22:42:20.000000000 +0200 +++ new/poppler-21.07.0/poppler/poppler-config.h.cmake 2021-07-02 23:07:57.000000000 +0200 @@ -117,11 +117,6 @@ #cmakedefine USE_BOOST_HEADERS 1 #endif -/* Is splash backend available */ -#ifndef HAVE_SPLASH -#cmakedefine HAVE_SPLASH 1 -#endif - //------------------------------------------------------------------------ // version //------------------------------------------------------------------------ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poppler-21.06.1/qt5/src/Doxyfile new/poppler-21.07.0/qt5/src/Doxyfile --- old/poppler-21.06.1/qt5/src/Doxyfile 2021-06-03 22:42:20.000000000 +0200 +++ new/poppler-21.07.0/qt5/src/Doxyfile 2021-07-02 23:07:57.000000000 +0200 @@ -31,7 +31,7 @@ # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 21.06.1 +PROJECT_NUMBER = 21.07.0 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poppler-21.06.1/qt5/src/poppler-document.cc new/poppler-21.07.0/qt5/src/poppler-document.cc --- old/poppler-21.06.1/qt5/src/poppler-document.cc 2021-06-03 22:42:20.000000000 +0200 +++ new/poppler-21.07.0/qt5/src/poppler-document.cc 2021-07-02 23:07:57.000000000 +0200 @@ -19,6 +19,7 @@ * Copyright (C) 2020 Katarina Behrens <katarina.behr...@cib.de> * Copyright (C) 2020 Thorsten Behrens <thorsten.behr...@cib.de> * Copyright (C) 2021 Mahmoud Khalil <mahmoudkhali...@gmail.com> + * Copyright (C) 2021 Hubert Figuiere <h...@figuiere.net> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -692,9 +693,7 @@ QSet<Document::RenderBackend> Document::availableRenderBackends() { QSet<Document::RenderBackend> ret; -#if defined(HAVE_SPLASH) ret << Document::SplashBackend; -#endif ret << Document::QPainterBackend; ret << Document::ArthurBackend; // For backward compatibility return ret; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poppler-21.06.1/qt5/src/poppler-page.cc new/poppler-21.07.0/qt5/src/poppler-page.cc --- old/poppler-21.06.1/qt5/src/poppler-page.cc 2021-06-03 22:42:20.000000000 +0200 +++ new/poppler-21.07.0/qt5/src/poppler-page.cc 2021-07-02 23:07:57.000000000 +0200 @@ -25,6 +25,7 @@ * Copyright (C) 2018, 2021 Nelson Ben??tez Le??n <nbenit...@gmail.com> * Copyright (C) 2020 Oliver Sander <oliver.san...@tu-dresden.de> * Copyright (C) 2020 Philipp Knechtges <philipp-...@knechtges.com> + * Copyright (C) 2021 Hubert Figuiere <h...@figuiere.net> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -61,10 +62,8 @@ #include <Link.h> #include <QPainterOutputDev.h> #include <Rendition.h> -#if defined(HAVE_SPLASH) -# include <SplashOutputDev.h> -# include <splash/SplashBitmap.h> -#endif +#include <SplashOutputDev.h> +#include <splash/SplashBitmap.h> #include "poppler-private.h" #include "poppler-page-transition-private.h" @@ -499,7 +498,6 @@ QImage img; switch (m_page->parentDoc->m_backend) { case Poppler::Document::SplashBackend: { -#if defined(HAVE_SPLASH) SplashColor bgColor; const bool overprintPreview = m_page->parentDoc->m_hints & Document::OverprintPreview ? true : false; if (overprintPreview) { @@ -546,9 +544,9 @@ splash_output.setVectorAntialias(m_page->parentDoc->m_hints & Document::Antialiasing ? true : false); splash_output.setFreeTypeHinting(m_page->parentDoc->m_hints & Document::TextHinting ? true : false, m_page->parentDoc->m_hints & Document::TextSlightHinting ? true : false); -# ifdef USE_CMS +#ifdef USE_CMS splash_output.setDisplayProfile(m_page->parentDoc->m_displayProfile); -# endif +#endif splash_output.startDoc(m_page->parentDoc->doc); @@ -559,7 +557,6 @@ (hideAnnotations) ? annotDisplayDecideCbk : nullAnnotCallBack, nullptr, true); img = splash_output.getXBGRImage(true /* takeImageData */); -#endif break; } case Poppler::Document::QPainterBackend: { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poppler-21.06.1/qt5/src/poppler-private.h new/poppler-21.07.0/qt5/src/poppler-private.h --- old/poppler-21.06.1/qt5/src/poppler-private.h 2021-06-03 22:42:20.000000000 +0200 +++ new/poppler-21.07.0/qt5/src/poppler-private.h 2021-07-02 23:07:57.000000000 +0200 @@ -19,6 +19,7 @@ * Copyright (C) 2019 Alexander Volkov <a.vol...@rusbitech.ru> * Copyright (C) 2020 Philipp Knechtges <philipp-...@knechtges.com> * Copyright (C) 2021 Mahmoud Khalil <mahmoudkhali...@gmail.com> + * Copyright (C) 2021 Hubert Figuiere <h...@figuiere.net> * Inspired on code by * Copyright (C) 2004 by Albert Astals Cid <tsdg...@terra.es> * Copyright (C) 2004 by Enrico Ros <eros....@email.it> @@ -56,9 +57,7 @@ #include <FontInfo.h> #include <OutputDev.h> #include <Error.h> -#if defined(HAVE_SPLASH) -# include <SplashOutputDev.h> -#endif +#include <SplashOutputDev.h> #include "poppler-qt5.h" #include "poppler-embeddedfile-private.h" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poppler-21.06.1/qt6/src/Doxyfile new/poppler-21.07.0/qt6/src/Doxyfile --- old/poppler-21.06.1/qt6/src/Doxyfile 2021-06-03 22:42:20.000000000 +0200 +++ new/poppler-21.07.0/qt6/src/Doxyfile 2021-07-02 23:07:57.000000000 +0200 @@ -31,7 +31,7 @@ # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 21.06.1 +PROJECT_NUMBER = 21.07.0 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poppler-21.06.1/qt6/src/poppler-document.cc new/poppler-21.07.0/qt6/src/poppler-document.cc --- old/poppler-21.06.1/qt6/src/poppler-document.cc 2021-06-03 22:42:20.000000000 +0200 +++ new/poppler-21.07.0/qt6/src/poppler-document.cc 2021-07-02 23:07:57.000000000 +0200 @@ -19,6 +19,7 @@ * Copyright (C) 2020 Katarina Behrens <katarina.behr...@cib.de> * Copyright (C) 2020 Thorsten Behrens <thorsten.behr...@cib.de> * Copyright (C) 2021 Mahmoud Khalil <mahmoudkhali...@gmail.com> + * Copyright (C) 2021 Hubert Figuiere <h...@figuiere.net> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -675,9 +676,7 @@ QSet<Document::RenderBackend> Document::availableRenderBackends() { QSet<Document::RenderBackend> ret; -#if defined(HAVE_SPLASH) ret << Document::SplashBackend; -#endif ret << Document::QPainterBackend; return ret; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poppler-21.06.1/qt6/src/poppler-page.cc new/poppler-21.07.0/qt6/src/poppler-page.cc --- old/poppler-21.06.1/qt6/src/poppler-page.cc 2021-06-03 22:42:20.000000000 +0200 +++ new/poppler-21.07.0/qt6/src/poppler-page.cc 2021-07-02 23:07:57.000000000 +0200 @@ -24,6 +24,7 @@ * Copyright (C) 2018, Tobias Deiminger <haxti...@posteo.de> * Copyright (C) 2018, 2021 Nelson Ben??tez Le??n <nbenit...@gmail.com> * Copyright (C) 2020 Philipp Knechtges <philipp-...@knechtges.com> + * Copyright (C) 2021 Hubert Figuiere <h...@figuiere.net> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -60,10 +61,8 @@ #include <Link.h> #include <QPainterOutputDev.h> #include <Rendition.h> -#if defined(HAVE_SPLASH) -# include <SplashOutputDev.h> -# include <splash/SplashBitmap.h> -#endif +#include <SplashOutputDev.h> +#include <splash/SplashBitmap.h> #include "poppler-private.h" #include "poppler-page-transition-private.h" @@ -498,7 +497,6 @@ QImage img; switch (m_page->parentDoc->m_backend) { case Poppler::Document::SplashBackend: { -#if defined(HAVE_SPLASH) SplashColor bgColor; const bool overprintPreview = m_page->parentDoc->m_hints & Document::OverprintPreview ? true : false; if (overprintPreview) { @@ -545,9 +543,9 @@ splash_output.setVectorAntialias(m_page->parentDoc->m_hints & Document::Antialiasing ? true : false); splash_output.setFreeTypeHinting(m_page->parentDoc->m_hints & Document::TextHinting ? true : false, m_page->parentDoc->m_hints & Document::TextSlightHinting ? true : false); -# ifdef USE_CMS +#ifdef USE_CMS splash_output.setDisplayProfile(m_page->parentDoc->m_displayProfile); -# endif +#endif splash_output.startDoc(m_page->parentDoc->doc); @@ -558,7 +556,6 @@ (hideAnnotations) ? annotDisplayDecideCbk : nullAnnotCallBack, nullptr, true); img = splash_output.getXBGRImage(true /* takeImageData */); -#endif break; } case Poppler::Document::QPainterBackend: { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poppler-21.06.1/qt6/src/poppler-private.h new/poppler-21.07.0/qt6/src/poppler-private.h --- old/poppler-21.06.1/qt6/src/poppler-private.h 2021-06-03 22:42:20.000000000 +0200 +++ new/poppler-21.07.0/qt6/src/poppler-private.h 2021-07-02 23:07:57.000000000 +0200 @@ -19,6 +19,7 @@ * Copyright (C) 2019 Alexander Volkov <a.vol...@rusbitech.ru> * Copyright (C) 2020 Philipp Knechtges <philipp-...@knechtges.com> * Copyright (C) 2021 Mahmoud Khalil <mahmoudkhali...@gmail.com> + * Copyright (C) 2021 Hubert Figuiere <h...@figuiere.net> * Inspired on code by * Copyright (C) 2004 by Albert Astals Cid <tsdg...@terra.es> * Copyright (C) 2004 by Enrico Ros <eros....@email.it> @@ -56,9 +57,7 @@ #include <FontInfo.h> #include <OutputDev.h> #include <Error.h> -#if defined(HAVE_SPLASH) -# include <SplashOutputDev.h> -#endif +#include <SplashOutputDev.h> #include "poppler-qt6.h" #include "poppler-embeddedfile-private.h" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poppler-21.06.1/test/CMakeLists.txt new/poppler-21.07.0/test/CMakeLists.txt --- old/poppler-21.06.1/test/CMakeLists.txt 2021-06-03 22:42:20.000000000 +0200 +++ new/poppler-21.07.0/test/CMakeLists.txt 2021-07-02 23:07:57.000000000 +0200 @@ -1,18 +1,14 @@ -if (ENABLE_SPLASH) - - if (HAVE_NANOSLEEP OR LIB_RT_HAS_NANOSLEEP) - set (perf_test_SRCS - perf-test.cc - perf-test-preview-dummy.cc - ) - add_executable(perf-test ${perf_test_SRCS}) - target_link_libraries(perf-test poppler) - if (LIB_RT_HAS_NANOSLEEP) - target_link_libraries(perf-test rt) - endif () +if (HAVE_NANOSLEEP OR LIB_RT_HAS_NANOSLEEP) + set (perf_test_SRCS + perf-test.cc + perf-test-preview-dummy.cc + ) + add_executable(perf-test ${perf_test_SRCS}) + target_link_libraries(perf-test poppler) + if (LIB_RT_HAS_NANOSLEEP) + target_link_libraries(perf-test rt) endif () - endif () if (GTK_FOUND) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poppler-21.06.1/utils/CMakeLists.txt new/poppler-21.07.0/utils/CMakeLists.txt --- old/poppler-21.06.1/utils/CMakeLists.txt 2021-06-03 22:42:20.000000000 +0200 +++ new/poppler-21.07.0/utils/CMakeLists.txt 2021-07-02 23:07:57.000000000 +0200 @@ -7,20 +7,18 @@ poppler ) -if (ENABLE_SPLASH) - # pdftoppm - set(pdftoppm_SOURCES ${common_srcs} - pdftoppm.cc - sanitychecks.cc - ) - add_executable(pdftoppm ${pdftoppm_SOURCES}) - target_link_libraries(pdftoppm ${common_libs}) - if(LCMS2_FOUND) - target_link_libraries(pdftoppm ${LCMS2_LIBRARIES}) - endif() - install(TARGETS pdftoppm DESTINATION bin) - install(FILES pdftoppm.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1) -endif () +# pdftoppm +set(pdftoppm_SOURCES ${common_srcs} + pdftoppm.cc + sanitychecks.cc +) +add_executable(pdftoppm ${pdftoppm_SOURCES}) +target_link_libraries(pdftoppm ${common_libs}) +if(LCMS2_FOUND) + target_link_libraries(pdftoppm ${LCMS2_LIBRARIES}) +endif() +install(TARGETS pdftoppm DESTINATION bin) +install(FILES pdftoppm.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1) if (HAVE_CAIRO) # pdftocairo diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poppler-21.06.1/utils/pdftohtml.cc new/poppler-21.07.0/utils/pdftohtml.cc --- old/poppler-21.06.1/utils/pdftohtml.cc 2021-06-03 22:42:20.000000000 +0200 +++ new/poppler-21.07.0/utils/pdftohtml.cc 2021-07-02 23:07:57.000000000 +0200 @@ -29,6 +29,7 @@ // Copyright (C) 2018 Thibaut Brard <thibaut.br...@gmail.com> // Copyright (C) 2018 Adam Reichold <adam.reich...@t-online.de> // Copyright (C) 2019, 2021 Oliver Sander <oliver.san...@tu-dresden.de> +// Copyright (C) 2021 Hubert Figuiere <h...@figuiere.net> // // 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 @@ -61,10 +62,8 @@ #include "PDFDoc.h" #include "PDFDocFactory.h" #include "HtmlOutputDev.h" -#ifdef HAVE_SPLASH -# include "SplashOutputDev.h" -# include "splash/SplashBitmap.h" -#endif +#include "SplashOutputDev.h" +#include "splash/SplashBitmap.h" #include "GlobalParams.h" #include "PDFDocEncoding.h" #include "Error.h" @@ -138,7 +137,6 @@ { "-fontfullname", argFlag, &fontFullName, 0, "outputs font full name" }, {} }; -#ifdef HAVE_SPLASH class SplashOutputDevNoText : public SplashOutputDev { public: @@ -156,8 +154,6 @@ SplashOutputDevNoText::~SplashOutputDevNoText() = default; -#endif - int main(int argc, char *argv[]) { std::unique_ptr<PDFDoc> doc; @@ -166,9 +162,7 @@ GooString *author = nullptr, *keywords = nullptr, *subject = nullptr, *date = nullptr; GooString *htmlFileName = nullptr; HtmlOutputDev *htmlOut = nullptr; -#ifdef HAVE_SPLASH SplashOutputDev *splashOut = nullptr; -#endif bool doOutline; bool ok; GooString *ownerPW, *userPW; @@ -353,7 +347,6 @@ } if ((complexMode || singleHtml) && !xml && !ignore) { -#ifdef HAVE_SPLASH GooString *imgFileName = nullptr; // White paper color SplashColor color; @@ -387,13 +380,6 @@ } delete splashOut; -#else - fprintf(stderr, "Your pdftohtml was built without splash backend support. It is needed for the option you want to use.\n"); - delete htmlOut; - delete htmlFileName; - delete fileName; - return -1; -#endif } if (htmlOut->isOk()) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poppler-21.06.1/utils/pdftops.cc new/poppler-21.07.0/utils/pdftops.cc --- old/poppler-21.06.1/utils/pdftops.cc 2021-06-03 22:42:20.000000000 +0200 +++ new/poppler-21.07.0/utils/pdftops.cc 2021-07-02 23:07:57.000000000 +0200 @@ -27,6 +27,7 @@ // Copyright (C) 2018 Adam Reichold <adam.reich...@t-online.de> // Copyright (C) 2019, 2021 Oliver Sander <oliver.san...@tu-dresden.de> // Copyright (C) 2020 Philipp Knechtges <philipp-...@knechtges.com> +// Copyright (C) 2021 Hubert Figuiere <h...@figuiere.net> // // 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 @@ -123,16 +124,12 @@ static bool printVersion = false; static bool printHelp = false; static bool overprint = false; -#ifdef HAVE_SPLASH static GooString processcolorformatname; static SplashColorMode processcolorformat; static bool processcolorformatspecified = false; -# ifdef USE_CMS +#ifdef USE_CMS static GooString processcolorprofilename; static GfxLCMSProfilePtr processcolorprofile; -# endif -#endif -#ifdef USE_CMS static GooString defaultgrayprofilename; static GfxLCMSProfilePtr defaultgrayprofile; static GooString defaultrgbprofilename; @@ -164,13 +161,9 @@ { "-passfonts", argFlag, &fontPassthrough, 0, "don't substitute missing fonts" }, { "-aaRaster", argString, rasterAntialiasStr, sizeof(rasterAntialiasStr), "enable anti-aliasing on rasterization: yes, no" }, { "-rasterize", argString, forceRasterizeStr, sizeof(forceRasterizeStr), "control rasterization: always, never, whenneeded" }, -#ifdef HAVE_SPLASH { "-processcolorformat", argGooString, &processcolorformatname, 0, "color format that is used during rasterization and transparency reduction: MONO8, RGB8, CMYK8" }, -# ifdef USE_CMS - { "-processcolorprofile", argGooString, &processcolorprofilename, 0, "ICC color profile to use as the process color profile during rasterization and transparency reduction" }, -# endif -#endif #ifdef USE_CMS + { "-processcolorprofile", argGooString, &processcolorprofilename, 0, "ICC color profile to use as the process color profile during rasterization and transparency reduction" }, { "-defaultgrayprofile", argGooString, &defaultgrayprofilename, 0, "ICC color profile to use as the DefaultGray color space" }, { "-defaultrgbprofile", argGooString, &defaultrgbprofilename, 0, "ICC color profile to use as the DefaultRGB color space" }, { "-defaultcmykprofile", argGooString, &defaultcmykprofilename, 0, "ICC color profile to use as the DefaultCMYK color space" }, @@ -288,7 +281,6 @@ globalParams->setErrQuiet(quiet); } -#ifdef HAVE_SPLASH if (!processcolorformatname.toStr().empty()) { if (processcolorformatname.toStr() == "MONO8") { processcolorformat = splashModeMono8; @@ -305,7 +297,7 @@ } } -# ifdef USE_CMS +#ifdef USE_CMS if (!processcolorprofilename.toStr().empty()) { processcolorprofile = make_GfxLCMSProfilePtr(cmsOpenProfileFromFile(processcolorprofilename.c_str(), "r")); if (!processcolorprofile) { @@ -344,7 +336,7 @@ } } } -# endif +#endif if (processcolorformatspecified) { if (level1 && processcolorformat != splashModeMono8) { @@ -355,7 +347,6 @@ goto err1; } } -#endif #ifdef USE_CMS if (!defaultgrayprofilename.toStr().empty()) { @@ -484,14 +475,10 @@ if (splashResolution > 0) { psOut->setRasterResolution(splashResolution); } -#ifdef HAVE_SPLASH if (processcolorformatspecified) psOut->setProcessColorFormat(processcolorformat); -# ifdef USE_CMS - psOut->setDisplayProfile(processcolorprofile); -# endif -#endif #ifdef USE_CMS + psOut->setDisplayProfile(processcolorprofile); psOut->setDefaultGrayProfile(defaultgrayprofile); psOut->setDefaultRGBProfile(defaultrgbprofile); psOut->setDefaultCMYKProfile(defaultcmykprofile);