commit 8766a45a1e101538724d2b767b3efd0ec210357c
Author: Albert Astals Cid <aacid@kde.org>
Date:   Tue Dec 1 23:29:29 2020 +0100

    Poppler 20.12.0

 CMakeLists.txt   |  4 ++--
 NEWS             | 37 +++++++++++++++++++++++++++++++++++++
 cpp/Doxyfile     |  2 +-
 qt5/src/Doxyfile |  2 +-
 4 files changed, 41 insertions(+), 4 deletions(-)

commit 11d97ec879bc3c846bac2ee6ddfc17d992c57f44
Author: Albert Astals Cid <aacid@kde.org>
Date:   Tue Dec 1 23:42:04 2020 +0100

    Fix memory leak in 722f37f7ab39e6d3b7fffb69907433d25f30b5ef

 poppler/SplashOutputDev.cc | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

commit 57f9f7f1f9e2351b630e15f2667c44348ecb2476
Author: Albert Astals Cid <aacid@kde.org>
Date:   Tue Dec 1 22:46:33 2020 +0100

    Move HAVE_SPLASH to poppler-config.h

    Now that HAVE_SPLASH is used in the the "public unsupported"
    internal headers

 config.h.cmake                 | 3 ---
 cpp/poppler-page-renderer.cpp  | 2 ++
 poppler/poppler-config.h.cmake | 6 ++++++
 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 +
 9 files changed, 14 insertions(+), 3 deletions(-)

commit 722f37f7ab39e6d3b7fffb69907433d25f30b5ef
Author: Tobias Deiminger <haxtibal@posteo.de>
Date:   Sun Nov 22 22:13:34 2020 +0100

    Splash: Fix blitImage in uncolored tiling patterns

    Roughly spoken, SplashOutputDev::tilingPatternFill first renders a
    pattern prototype into a temporary buffer, then draws multiple copies
    of that buffer over the current background, enough copies to fill
    a region.

    To draw the copies, we use either blitImage or drawImage. blitImage
    is faster, but only works if the current transformation is simple
    enough (no rotation, no skew, no reflection). Else we have to fallback
    to drawImage.

    drawImage would generate the final pattern so that it colorizes a
    greyscale prototype while fetching the prototype via tilingBitmapSrc
    buffer accessor. blitImage on the other hand  has no such accessor and
    therefore no color to colorize. But we can get the same result if
    we colorize the pattern prototype up front.

    This commit rearranges the code so that we can decide blitImage
    vs. drawImage
    early enough to make color mode of the prototype and copying
    pattern color
    from former Splash dependent on that decision.

    To test blitImage for uncolored tiling patterns, render
    PDFJS-8741-p1-patternscaling.pdf from #983.

    To test drawImage for uncolored tiling patterns, render 745th page,
    Figure L.9 – Uncoloured tiling pattern from PDF32000_2008.pdf.

    Fixes #983.

 poppler/SplashOutputDev.cc | 67
 +++++++++++++++++++++++++---------------------
 1 file changed, 37 insertions(+), 30 deletions(-)

commit 8ef16f82b1f0f085d9501978bb85a792f46d8ab2
Author: Albert Astals Cid <aacid@kde.org>
Date:   Sun Nov 29 19:41:45 2020 +0100

    Be more strict in XRef::createDocInfoIfNeeded

    Info needs to be a Dict and an indirect object in the trailer dict

    oss-fuzz/28057

 poppler/PDFDoc.cc | 11 +++--------
 poppler/PDFDoc.h  |  7 -------
 poppler/XRef.cc   | 17 +++++++++--------
 poppler/XRef.h    |  5 +++--
 4 files changed, 15 insertions(+), 25 deletions(-)

commit 751deb8ae3df1bc316fa17c83ca573233586b41f
Author: Albert Astals Cid <aacid@kde.org>
Date:   Sun Nov 29 00:01:48 2020 +0100

    XRef::removeIndirectObject: Fix overflow of gen

    Also make the check in XRef::addIndirectObject that looks for a
    free and
    usable entry a bit more robust (!= to <) than 65535

    oss-fuzz/28032

 poppler/XRef.cc | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

commit 306df53be898aaebdbd5cd99947e4baef54ac1eb
Author: Albert Astals Cid <aacid@kde.org>
Date:   Sat Nov 28 20:59:25 2020 +0100

    Fix abort when searching for "bad" label names

    Give wstring_convert a error string so it does throw an exception when
    it fails

    oss-fuzz/28002

 poppler/PageLabelInfo_p.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit d8fb21b78bc9f11d52491f90076737f484f69c7d
Author: Albert Astals Cid <aacid@kde.org>
Date:   Sat Nov 28 20:23:43 2020 +0100

    Fix crash when searching things of length 0

 poppler/TextOutputDev.cc   | 4 ++++
 qt5/tests/check_search.cpp | 1 +
 qt6/tests/check_search.cpp | 1 +
 3 files changed, 6 insertions(+)

commit 2386bf37f9022cb5a9d434e30e8d8d55f4916e55
Author: Albert Astals Cid <aacid@kde.org>
Date:   Sat Nov 28 01:31:05 2020 +0100

    Protect against loops in the PageLabels Kids tree

    oss-fuzz/27991

 poppler/PageLabelInfo.cc | 26 +++++++++++++++++++-------
 poppler/PageLabelInfo.h  |  4 ++--
 2 files changed, 21 insertions(+), 9 deletions(-)

commit de8abb8dd3fde0c0b3003ca460902b1517c32b4c
Author: Albert Astals Cid <aacid@kde.org>
Date:   Sat Nov 28 01:06:37 2020 +0100

    cpp: page::search: Fix invalid memory access if searching for the
    empty string

 cpp/poppler-page.cpp | 5 +++++
 1 file changed, 5 insertions(+)

commit c48f469cd6755fb9fea7870d6b64aaf891cb2012
Author: Albert Astals Cid <aacid@kde.org>
Date:   Sat Nov 28 00:55:49 2020 +0100

    qt5: Fix division by 0 in broken files

    oss-fuzz/27983

 qt5/src/poppler-annotation.cc | 8 ++++++++
 1 file changed, 8 insertions(+)

commit bce14c781b8066ad7e55020e8e2ade5363856854
Author: Albert Astals Cid <aacid@kde.org>
Date:   Sat Nov 28 00:34:52 2020 +0100

    Fix crash in XRef::removeDocInfo() if Info is not a ref

    oss-fuzz/27968

 poppler/XRef.cc | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit 691866a3e3de15774fbe825609ae472199573e9b
Author: Albert Astals Cid <aacid@kde.org>
Date:   Fri Nov 27 14:53:53 2020 +0100

    perf-test: Remove a bunch of code that was windows only

    I'm 99% sure no-one uses this and could be removed completely,
    but let's
    leave the part that actually works on linux too.

 ConfigureChecks.cmake |   2 -
 config.h.cmake        |   6 -
 test/perf-test.cc     | 371
 +-------------------------------------------------
 3 files changed, 3 insertions(+), 376 deletions(-)

commit 8ea1bf3c1069530171493a6b2dd49ac1f20120fc
Author: Ceyhun Alp <ceyhunalp@google.com>
Date:   Thu Nov 26 15:59:51 2020 +0000

    Replace malloc with calloc

 glib/tests/fuzzing/doc_attr_fuzzer.cc  | 2 +-
 glib/tests/fuzzing/find_text_fuzzer.cc | 2 +-
 glib/tests/fuzzing/label_fuzzer.cc     | 2 +-
 glib/tests/fuzzing/util_fuzzer.cc      | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

commit e05e627a5f6e92cf1c1897c490851db176eb9999
Author: Ceyhun Alp <ceyhunalp@google.com>
Date:   Mon Nov 9 11:31:58 2020 +0000

    Clang format

 glib/tests/fuzzing/annot_fuzzer.cc     | 2 +-
 glib/tests/fuzzing/doc_attr_fuzzer.cc  | 2 +-
 glib/tests/fuzzing/find_text_fuzzer.cc | 2 +-
 glib/tests/fuzzing/label_fuzzer.cc     | 2 +-
 glib/tests/fuzzing/pdf_draw_fuzzer.cc  | 2 +-
 glib/tests/fuzzing/util_fuzzer.cc      | 2 +-
 6 files changed, 6 insertions(+), 6 deletions(-)

commit e09a603e2ff08ce50fc5a71146101bb4ce40c467
Author: Ceyhun Alp <ceyhunalp@google.com>
Date:   Wed Nov 4 13:24:26 2020 +0000

    Changing glib fuzzers from C to CPP

    ...

    replace c with cc - glib

    missing includes

 glib/tests/CMakeLists.txt                                    | 12
 ++++++------
 glib/tests/fuzzing/{annot_fuzzer.c => annot_fuzzer.cc}       |  4 ++--
 glib/tests/fuzzing/{doc_attr_fuzzer.c => doc_attr_fuzzer.cc} |  6 ++++--
 .../fuzzing/{find_text_fuzzer.c => find_text_fuzzer.cc}      |  6 ++++--
 glib/tests/fuzzing/{label_fuzzer.c => label_fuzzer.cc}       |  6 ++++--
 glib/tests/fuzzing/{pdf_draw_fuzzer.c => pdf_draw_fuzzer.cc} |  4 ++--
 glib/tests/fuzzing/{util_fuzzer.c => util_fuzzer.cc}         |  6 ++++--
 7 files changed, 26 insertions(+), 18 deletions(-)

commit 44af15369a974b2b26a10fa3f4f99ba8e7542bd9
Author: Ceyhun Alp <ceyhunalp@google.com>
Date:   Fri Oct 30 00:41:41 2020 +0000

    Fixing null-terminated string parameters

 cpp/tests/fuzzing/doc_fuzzer.cc         | 19 +++++++++++--------
 cpp/tests/fuzzing/page_label_fuzzer.cc  | 16 ++++++++++++----
 cpp/tests/fuzzing/page_search_fuzzer.cc | 14 +++++++++++---
 cpp/tests/fuzzing/pdf_file_fuzzer.cc    |  4 +---
 cpp/tests/fuzzing/pdf_fuzzer.cc         | 25 +++----------------------
 glib/tests/fuzzing/find_text_fuzzer.c   |  8 +++++++-
 glib/tests/fuzzing/label_fuzzer.c       |  2 +-
 7 files changed, 46 insertions(+), 42 deletions(-)

commit 919a71e52110774f461cbe079a5ed65cf8f48c91
Author: Ceyhun Alp <ceyhunalp@google.com>
Date:   Thu Oct 29 23:32:15 2020 +0000

    Updating pdf_fuzzer with the version from OSS-Fuzz repository

 cpp/tests/CMakeLists.txt              |  1 +
 cpp/tests/{ => fuzzing}/pdf_fuzzer.cc | 10 ++++++++--
 2 files changed, 9 insertions(+), 2 deletions(-)

commit 1e73805f7d8d1ca453550d133d86f59305011e78
Author: Ceyhun Alp <ceyhunalp@google.com>
Date:   Wed Oct 28 01:00:58 2020 +0000

    Fixes from Michael's feedback

 cpp/tests/fuzzing/doc_fuzzer.cc        |  16 +-
 glib/tests/fuzzing/annot_fuzzer.c      |   2 -
 glib/tests/fuzzing/doc_attr_fuzzer.c   |  20 +-
 glib/tests/fuzzing/label_fuzzer.c      |   8 +-
 glib/tests/fuzzing/util_fuzzer.c       |  16 +-
 qt5/tests/fuzzing/FuzzedDataProvider.h | 409
 ---------------------------------
 qt5/tests/fuzzing/fuzzer_temp_file.h   |  82 -------
 qt5/tests/fuzzing/qt_annot_fuzzer.cc   |  10 +-
 8 files changed, 48 insertions(+), 515 deletions(-)

commit 48026f90fd07f3da886ce0079facec49f8022c07
Author: Ceyhun Alp <ceyhunalp@google.com>
Date:   Fri Oct 23 11:02:20 2020 +0000

    Fixing clang_format issues

 cpp/tests/fuzzing/FuzzedDataProvider.h  | 538
 +++++++++++++++++---------------
 cpp/tests/fuzzing/doc_fuzzer.cc         |  12 +-
 cpp/tests/fuzzing/fuzzer_temp_file.h    |  81 ++---
 cpp/tests/fuzzing/page_label_fuzzer.cc  |   2 +-
 cpp/tests/fuzzing/page_search_fuzzer.cc |   2 +-
 glib/tests/fuzzing/annot_fuzzer.c       |   3 +-
 glib/tests/fuzzing/doc_attr_fuzzer.c    |   3 +-
 glib/tests/fuzzing/find_text_fuzzer.c   |   3 +-
 glib/tests/fuzzing/fuzzer_temp_file.h   |  81 ++---
 glib/tests/fuzzing/label_fuzzer.c       |   3 +-
 glib/tests/fuzzing/pdf_draw_fuzzer.c    |   4 +-
 glib/tests/fuzzing/util_fuzzer.c        |   3 +-
 qt5/tests/fuzzing/FuzzedDataProvider.h  | 538
 +++++++++++++++++---------------
 qt5/tests/fuzzing/fuzzer_temp_file.h    |  81 ++---
 qt5/tests/fuzzing/qt_annot_fuzzer.cc    |   6 +-
 qt5/tests/fuzzing/qt_label_fuzzer.cc    |   6 +-
 qt5/tests/fuzzing/qt_pdf_fuzzer.cc      |   6 +-
 qt5/tests/fuzzing/qt_search_fuzzer.cc   |   6 +-
 qt5/tests/fuzzing/qt_textbox_fuzzer.cc  |   6 +-
 19 files changed, 718 insertions(+), 666 deletions(-)

commit 890de69dbe531484f687877124c080508b25a9f8
Author: Ceyhun Alp <ceyhunalp@google.com>
Date:   Mon Oct 19 08:23:48 2020 +0000

    Fuzzers for qt5 + cleaning up cpp and glib fuzzers

 cpp/tests/CMakeLists.txt                |   2 +-
 cpp/tests/fuzzing/FuzzedDataProvider.h  | 387
 ++++++++++++++++++++++++++++++++
 cpp/tests/fuzzing/doc_fuzzer.cc         |  46 ++++
 cpp/tests/fuzzing/page_label_fuzzer.cc  |  18 --
 cpp/tests/fuzzing/page_search_fuzzer.cc |  18 --
 cpp/tests/fuzzing/pdf_file_fuzzer.cc    |  18 --
 glib/tests/fuzzing/annot_fuzzer.c       |  48 +++-
 glib/tests/fuzzing/doc_attr_fuzzer.c    |   1 -
 glib/tests/fuzzing/find_text_fuzzer.c   |   5 +-
 glib/tests/fuzzing/label_fuzzer.c       |   5 +-
 glib/tests/fuzzing/pdf_draw_fuzzer.c    |  31 ++-
 glib/tests/fuzzing/util_fuzzer.c        |   3 -
 qt5/tests/CMakeLists.txt                |  16 ++
 qt5/tests/fuzzing/FuzzedDataProvider.h  | 387
 ++++++++++++++++++++++++++++++++
 qt5/tests/fuzzing/fuzzer_temp_file.h    |  81 +++++++
 qt5/tests/fuzzing/qt_annot_fuzzer.cc    |  46 ++++
 qt5/tests/fuzzing/qt_label_fuzzer.cc    |  29 +++
 qt5/tests/fuzzing/qt_pdf_fuzzer.cc      |  27 +++
 qt5/tests/fuzzing/qt_search_fuzzer.cc   |  28 +++
 qt5/tests/fuzzing/qt_textbox_fuzzer.cc  |  32 +++
 20 files changed, 1150 insertions(+), 78 deletions(-)

commit 8b991bcf392c6c7e8957f4e18f3ca9437fcf4797
Author: Ceyhun Alp <ceyhunalp@google.com>
Date:   Mon Oct 12 23:05:37 2020 +0000

    Fuzzers for glib

 glib/tests/CMakeLists.txt             | 18 ++++++++
 glib/tests/fuzzing/annot_fuzzer.c     | 38 ++++++++++++++++
 glib/tests/fuzzing/doc_attr_fuzzer.c  | 23 ++++++++++
 glib/tests/fuzzing/find_text_fuzzer.c | 31 ++++++++++++++
 glib/tests/fuzzing/fuzzer_temp_file.h | 81
 +++++++++++++++++++++++++++++++++++
 glib/tests/fuzzing/label_fuzzer.c     | 30 +++++++++++++
 glib/tests/fuzzing/pdf_draw_fuzzer.c  | 61 ++++++++++++++++++++++++++
 glib/tests/fuzzing/util_fuzzer.c      | 12 ++++++
 8 files changed, 294 insertions(+)

commit c6a50e4f2334d130061b03c31ad96387ba86dbea
Author: Ceyhun Alp <ceyhunalp@google.com>
Date:   Sat Oct 10 20:19:39 2020 +0000

    Fuzzers for cpp

 cpp/tests/CMakeLists.txt                |  3 ++
 cpp/tests/fuzzing/fuzzer_temp_file.h    | 81
 +++++++++++++++++++++++++++++++++
 cpp/tests/fuzzing/page_label_fuzzer.cc  | 51 +++++++++++++++++++++
 cpp/tests/fuzzing/page_search_fuzzer.cc | 53 +++++++++++++++++++++
 cpp/tests/fuzzing/pdf_file_fuzzer.cc    | 57 +++++++++++++++++++++++
 5 files changed, 245 insertions(+)

commit e9253bda14b10059c734213e3ad88b5b1f8cc546
Author: Albert Astals Cid <aacid@kde.org>
Date:   Fri Nov 27 01:36:13 2020 +0100

    Protect against invalid quadding values

    oss-fuzz/27915

 poppler/Form.cc | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

commit 1fba0c2bd540e6100b9a64483101b135bfbcee13
Author: Albert Astals Cid <aacid@kde.org>
Date:   Wed Nov 25 19:05:10 2020 +0100

    qt6: fix packages for CI

 .gitlab-ci.yml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 7478ee80739ad0b064389bba04e9651d68bd0fa1
Author: Albert Astals Cid <aacid@kde.org>
Date:   Wed Nov 25 01:13:01 2020 +0100

    Tweak Annot rendering code for when border width is 0

    Fixes issue #997

 poppler/Annot.cc | 22 ++++++++++++++++------
 1 file changed, 16 insertions(+), 6 deletions(-)

commit 3d69e0de6a136cde9844b63886294ae532bc50aa
Author: Albert Astals Cid <albert.astals.cid@kdab.com>
Date:   Tue Nov 24 16:36:49 2020 +0100

    timeToDateString: We forgot the ' after the minutes

    Adobe Reader seems to be particularly strict about this

 poppler/DateInfo.cc | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

commit fb93776c423c166547d952bc199b14383a1d4d8d
Author: Albert Astals Cid <aacid@kde.org>
Date:   Tue Nov 24 01:29:59 2020 +0100

    Fix Annot border when C is present but empty -> transparent

    Issue #993

 poppler/Gfx.cc | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

commit aaf2e8083141fcea5dacbc6af6a679533ad8dc55
Author: Albert Astals Cid <aacid@kde.org>
Date:   Sun Nov 22 18:01:10 2020 +0100

    Tweak the don't use Appearance stream if annot is typeHighlight

    After playing hand editing files and opening them in Adobe Reader i
    *think* the condition is "if the appearance stream has a ExtGState in
    its Resources dict, then use the appearance stream, otherwise draw it
    ourselves

 glib/tests/CMakeLists.txt |  2 +-
 poppler/Annot.cc          | 28 +++++++++++++++++++++++++++-
 poppler/Annot.h           |  3 +++
 3 files changed, 31 insertions(+), 2 deletions(-)

commit cd145d56617e7e7501a0054f42b9068babed3dc5
Author: Albert Astals Cid <aacid@kde.org>
Date:   Fri Nov 20 09:13:34 2020 +0100

    Fix rendering of some files

    StreamPredictor::getNextLine when predictori == 2 && nBits == 1 &&
    nComps == 1

    Issue #976
    Issue #567

 poppler/Stream.cc | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

commit 2c353300b65f3a89ddb9377a4ef8864bff8d49ab
Author: Albert Astals Cid <aacid@kde.org>
Date:   Thu Nov 19 21:27:30 2020 +0100

    GfxLabColorSpace::parse: Protect against division by 0

    oss-fuzz/27619

 poppler/GfxState.cc | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

commit 15960417f2fef7e8b94acda712e65e9b5383494c
Author: Albert Astals Cid <aacid@kde.org>
Date:   Wed Nov 18 20:14:37 2020 +0100

    JBIG2Stream::readTextRegion: Fix integer overflow on broken files

 poppler/JBIG2Stream.cc | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit 331f2f092b7cb3be97a1f5c0665d41cd10e85a8d
Author: Oliver Sander <oliver.sander@tu-dresden.de>
Date:   Sat Nov 14 22:03:25 2020 +0100

    Fix annotation line width if no appearance stream or style are given

    When handling annotations without appearance stream, the behavior
    of poppler deviated from what the pdf spec says:  Poppler would
    only take the boundary width from a border style (BS) dictionary
    if the 'style (S)' field was also present, even though the spec
    clearly says that both are optional, and does not mention
    one depending on the other.

    This behavior was deliberate, because apparently Acroread 8
    did it that way.  See the comment by Jeff Muizelaar in 28967940.
    But it seems that Acroread behavior has changed, newer versions
    do take the 'width' field into account even when there is no
    'style (S)' field.  The Chromium pdf renderer does the same.

    So let's change the code back to following the spec rather
    than an old version of Acroread.

    BUG: 988

 poppler/Annot.cc | 23 +++++++++--------------
 1 file changed, 9 insertions(+), 14 deletions(-)

commit 5a65db3d992eeb8a4cd4b2531f3c59ad25940487
Author: Albert Astals Cid <aacid@kde.org>
Date:   Mon Nov 16 19:49:54 2020 +0100

    JBIG2Stream::readCodeTableSeg: More overflow protection in broken
    files

 poppler/JBIG2Stream.cc | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

commit db5f849ab74798f3a0481d506331ef3244862314
Author: Tobias Deiminger <haxtibal@posteo.de>
Date:   Sun Nov 15 13:08:56 2020 +0100

    Splash: Fix wrong x adjustment during clipping

    If a line segment goes beyond the current clip region,
    Splash::strokeNarrow
    tries to cut off the segment line to the intersection of the
    segment line
    with the clip border.

    Therefore it has to calculate a new endpoint (=intersection point)
    of the
    segment. It does this by using the known segment slope dxdy.

    Required information (segment start, segment slope, clip border)
    is known
    in double precision. However the calculation used the integerized clip
    border, which necessarily suffers from rounding errors. This error can
    become very visible when we have a high dxdy (i.e, a flat-angle line).

    Use SplashClip::getYMin and SplashClip::getYMax instead of getYMinI
    and getYMaxI,
    and we get visibly correct results.

    Fixes #990.

 splash/Splash.cc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 72e7e1e826f64d72a2a47e1abd8bccceff5e0a67
Author: Albert Astals Cid <aacid@kde.org>
Date:   Sun Nov 15 22:10:44 2020 +0100

    SampledFunction: Initialize cacheOut

    On some broken files m is 0 so every time we call
    SampledFunction::transform we just return cachedOut, but it was never
    initialized. We can solve it other ways but seems seems the least
    expensive

 poppler/Function.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit bf6909d2d9dc82d3014ce7659469c8e1cc37694c
Author: Albert Astals Cid <aacid@kde.org>
Date:   Sun Nov 15 21:51:25 2020 +0100

    JBIG2Stream::readSymbolDictSeg: Return early if one of the bitmaps
    is null

    Doesn't seem to regress any of the valid files i have and saves some
    very small looping for hours

 poppler/JBIG2Stream.cc | 4 ++++
 1 file changed, 4 insertions(+)

commit 2b26a3e80a5e8fecc1b94753a7cbe3d0369e7629
Author: Albert Astals Cid <aacid@kde.org>
Date:   Sun Nov 15 18:24:01 2020 +0100

    Update (C)

 poppler/FontInfo.cc | 2 +-
 poppler/GfxFont.h   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit d0493e210b5cfa82228debc4c0ad7f405ee3acb8
Author: Albert Astals Cid <aacid@kde.org>
Date:   Sun Nov 15 12:43:30 2020 +0100

    JBIG2Stream::readTextRegion: Make bitmap an unique_ptr

    Simplifies having to remember to add the delete on all those error
    cases

 poppler/JBIG2Stream.cc | 19 ++++---------------
 1 file changed, 4 insertions(+), 15 deletions(-)

commit 95a4ee50304666f299890daa41fdb40ac8e38384
Author: Albert Astals Cid <aacid@kde.org>
Date:   Sun Nov 15 12:37:03 2020 +0100

    Remove #if that was confusing clang-format

    Code looks better now

 poppler/JBIG2Stream.cc | 257
 +++++++++++++++++++++++++------------------------
 1 file changed, 129 insertions(+), 128 deletions(-)

commit 0986483fbd49b7bdf5f2e45bb03a7ebe6d3b8e65
Author: Albert Astals Cid <aacid@kde.org>
Date:   Mon Nov 9 01:20:18 2020 +0100

    Use the font name without subset tag when querying for a system font

    i.e. if the font name is DDPJAD+Times-Roman look for a replacement
    of Times-Roman

    Fixes issue #972

 poppler/FontInfo.cc     | 11 +----------
 poppler/GfxFont.cc      | 27 +++++++++++++++++++++++++++
 poppler/GfxFont.h       |  5 +++++
 poppler/GlobalParams.cc |  2 +-
 4 files changed, 34 insertions(+), 11 deletions(-)

commit 91ac0038dd48b5da6382ef297eab5128f5266793
Author: Albert Astals Cid <aacid@kde.org>
Date:   Sat Nov 14 20:20:36 2020 +0100

    Update (C)

 poppler/Annot.cc | 2 +-
 poppler/Annot.h  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit bd41274e4537a321bb2ab1ae89eb72fa302a2062
Author: Tobias Deiminger <haxtibal@posteo.de>
Date:   Fri Nov 13 09:55:26 2020 +0100

    Draw better circles for circle annotations

    Because PDF spec has no built in circle operator, we can only
    approximate
    a circle by joining cubic bezier curve segments.

    We already did good approximation for line endings and radio
    buttons by
    setting distance of bezier control point to (4 * (sqrt(2) - 1) / 3)
    * r.
    But the older AnnotGeometry::draw code for subtype circle still used
    an equivalent of 0.5 * r, which yields a visibly non-circular circle.
    Fix it by using the bezierCircle define for AnnotGeometry too.

    Does minor refactoring by introducing
    AnnotAppearanceBuilder::drawEllipse,
    and forwarding drawCircle to it. typeSquare code is slightly
    touched as
    a consequence, but remains functionally unchanged.

    Also changes 'S' (stroke path) to 's' (close and stroke path). To my
    understanding 'close and stroke' is the correct thing to do here,
    it's in line with drawCircle and the original commit 6c4fa513 didn't
    explain why it left the path open by using 'S'.

    Fixes #989.

 poppler/Annot.cc | 87
 +++++++++++++++++++++-----------------------------------
 poppler/Annot.h  |  1 +
 2 files changed, 34 insertions(+), 54 deletions(-)

commit f4d640d7ad00b30797acce47299cf7a7a59ad505
Author: Kyle Auble <kyle.auble@outlook.com>
Date:   Thu Nov 12 19:46:15 2020 -0500

    cmake: Remove redundant unit-test macro

    poppler_add_unittest was only used 3 times & effectively differed from
    poppler_add_test by just a CMake add_test call.

 cmake/modules/PopplerMacros.cmake | 23 +++--------------------
 glib/tests/CMakeLists.txt         |  3 ++-
 qt5/tests/CMakeLists.txt          |  3 ++-
 qt6/tests/CMakeLists.txt          |  3 ++-
 4 files changed, 9 insertions(+), 23 deletions(-)

commit 85f6354f36d5d4f6bb7c1708f408d7522a9356d6
Author: Kyle Auble <kyle.auble@outlook.com>
Date:   Tue Nov 10 23:57:19 2020 -0500

    Remove .pc files for private back-ends

 CMakeLists.txt          | 6 ------
 poppler-cairo.pc.cmake  | 8 --------
 poppler-glib.pc.cmake   | 2 +-
 poppler-splash.pc.cmake | 8 --------
 4 files changed, 1 insertion(+), 23 deletions(-)

commit 268696ebf5ff01164e8e530b625af327c09ff133
Author: Kyle Auble <kyle.auble@outlook.com>
Date:   Sun Nov 8 16:31:56 2020 -0500

    cmake: Remove obsolete version-check macro

    Only used once to check pkgconfig >= 0.18 (released in 2005 at
    latest).

 CMakeLists.txt                         |  17 ++---
 cmake/modules/MacroEnsureVersion.cmake | 117
 ---------------------------------
 2 files changed, 4 insertions(+), 130 deletions(-)

commit 89f219c8f72b826d4c0ab4e3fc9a6962005d5151
Author: Kyle Auble <kyle.auble@outlook.com>
Date:   Sun Nov 8 16:31:00 2020 -0500

    cmake: Remove obsolete bool-to-binary macro

    Only used once & no longer needed; CMake configure_file converts
    True/False to def/undef transparently now.

 CMakeLists.txt                    | 21 +++++++++++----------
 cmake/modules/MacroBoolTo01.cmake | 20 --------------------
 2 files changed, 11 insertions(+), 30 deletions(-)

commit a01a75d66ddeeb9637475cb0d4a196a1c1838588
Author: Albert Astals Cid <aacid@kde.org>
Date:   Sat Nov 14 01:26:28 2020 +0100

    gcc: Enable -fno-operator-names

    They are valid C++ but it's not what this project uses, it's a
    matter of
    uniformity (same reason we have clang-format for example)

 cmake/modules/PopplerMacros.cmake | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 388f1bc081bbd612c318ec9cf241911f0271f772
Author: Albert Astals Cid <aacid@kde.org>
Date:   Wed Nov 11 19:49:52 2020 +0100

    JBIG2Stream::readTextRegion: Prevent integer overflow on broken files

    oss-fuzz/19177

 poppler/JBIG2Stream.cc | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

commit 6e2177d24c5a320ce32029a7062089422f6ada21
Author: Albert Astals Cid <aacid@kde.org>
Date:   Mon Nov 2 22:52:28 2020 +0100

    Update (C)

 poppler/PSOutputDev.h | 2 +-
 poppler/Stream.cc     | 1 +
 poppler/Stream.h      | 1 +
 utils/pdftops.cc      | 1 +
 4 files changed, 4 insertions(+), 1 deletion(-)

commit 0a243dd9d20bc16f4e83af3e2043c0253b4e4625
Author: Albert Astals Cid <aacid@kde.org>
Date:   Mon Nov 2 22:21:52 2020 +0100

    GfxFunctionShading::getColor: Fix buffer overrun in broken documents

    Issue #979

 poppler/GfxState.cc | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

commit eaa1e07b591b975946f2f3f7262dd94deb9d54b3
Author: Albert Astals Cid <aacid@kde.org>
Date:   Mon Nov 2 00:03:04 2020 +0100

    Move psLevel to PSOutputDev creation

    It's were it makes sense, not as part of GlobalParams that we're
    sloooooooooowly trying to get rid of

 poppler/GlobalParams.cc     | 13 -------------
 poppler/GlobalParams.h      | 17 -----------------
 poppler/PSOutputDev.cc      | 22 +++++++++++-----------
 poppler/PSOutputDev.h       | 19 +++++++++++++++----
 poppler/PreScanOutputDev.cc |  6 ++----
 poppler/PreScanOutputDev.h  |  7 +++----
 utils/pdftops.cc            |  8 +++-----
 7 files changed, 34 insertions(+), 58 deletions(-)

commit 3c16e88f7c60ec4f49f856ba22d7f20cf626c7d4
Author: Philipp Knechtges <philipp-dev@knechtges.com>
Date:   Mon Sep 28 15:39:12 2020 +0200

    pdftops: fix wording in processcolorformat-related error messages

 utils/pdftops.cc | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit e4e261a013719a48bb26dbfc9c95dd177eea0557
Author: Philipp Knechtges <philipp-dev@knechtges.com>
Date:   Mon Sep 28 15:33:09 2020 +0200

    redact splashModeUndefined and as a substitute introduce a boolean
    value where necessary

 poppler/PSOutputDev.cc |  4 ++--
 poppler/PSOutputDev.h  |  8 +++++++-
 splash/SplashTypes.h   |  2 --
 utils/pdftops.cc       | 20 ++++++++++++++------
 4 files changed, 23 insertions(+), 11 deletions(-)

commit 75abc683868d8933f10128074a4234afaf76e77f
Author: Philipp Knechtges <philipp-dev@knechtges.com>
Date:   Sun Sep 13 19:59:41 2020 +0200

    PSOutputDev: use the DeviceN8 bitmap for rasterization with
    CMYK-output + overprint

    This mostly mimics the pdftoppm behaviour.

 poppler/PSOutputDev.cc | 24 ++++++++++++---
 poppler/Stream.cc      | 82
 ++++++++++++++++++++++++++++++++++++++++++++++++++
 poppler/Stream.h       | 52 ++++++++++++++++++++++++++++++++
 3 files changed, 153 insertions(+), 5 deletions(-)

commit 0c772071baa74b11c66981f768dccf123f431ce1
Author: Philipp Knechtges <philipp-dev@knechtges.com>
Date:   Sun Jun 7 21:42:57 2020 +0200

    PSOutputDev/pdftops: for splashModeCMYK8 and language level >=2
    activate overprint emulation

    The overprint operands are always emitted for any language level >=
    2, such that it is just consistent
    to activate overprint emulation during rasterization if it is quite
    likely that the final device
    supports this operation.

 poppler/PSOutputDev.cc | 6 +++++-
 utils/pdftops.1        | 4 +++-
 utils/pdftops.cc       | 2 +-
 3 files changed, 9 insertions(+), 3 deletions(-)

commit ccdee13835b66892355ebe1bb8d27556edee32be
Author: Philipp Knechtges <philipp-dev@knechtges.com>
Date:   Sun Jun 7 18:34:25 2020 +0200

    PSOutputDev/pdftops: provide options to set the rasterization color
    space and ICC profile

    Poppler so far has to assume some underlying color space. This commit
    gives the user the
    opportunity to specify this color space through two new options
    in pdftops:
      -processcolorformat
      -processcolorprofile

    The former practically sets the underlying splash bitmap type during
    rasterization,
    while the latter sets the display profile of the used SplashOutputDev.

 poppler/OutputDev.h    |   1 +
 poppler/PSOutputDev.cc | 126
 +++++++++++++++++++++++++++++++++++++++----------
 poppler/PSOutputDev.h  |  23 +++++++--
 splash/SplashTypes.h   |   2 +
 utils/CMakeLists.txt   |   3 ++
 utils/pdftops.1        |   9 ++++
 utils/pdftops.cc       |  91 +++++++++++++++++++++++++++++++++++
 7 files changed, 226 insertions(+), 29 deletions(-)

commit ef71527479bab01da0a8b7b7c6da3320d4bdffbe
Author: Albert Astals Cid <aacid@kde.org>
Date:   Sun Nov 1 19:32:52 2020 +0100

    Poppler 20.11.0

 CMakeLists.txt         |  4 ++--
 NEWS                   | 22 ++++++++++++++++++++++
 cpp/Doxyfile           |  2 +-
 qt5/src/CMakeLists.txt |  2 +-
 qt5/src/Doxyfile       |  2 +-
 5 files changed, 27 insertions(+), 5 deletions(-)

commit 55a71830ac52ef55c899a1aa6935d935e888e1c7
Author: Albert Astals Cid <aacid@kde.org>
Date:   Sun Nov 1 18:58:53 2020 +0100

    Fix comment as pointed out by Nelson

 poppler/Page.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 3a6c0f66cf3185658782d3001e778de44ebda8e7
Author: Albert Astals Cid <aacid@kde.org>
Date:   Fri Oct 30 15:44:13 2020 +0100

    Dict: Save 8 bytes of memory

    It's not a lot, but Dict is used relatively often, so won't hurt
    for a 1
    line code change

 poppler/Dict.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit af86c98f5732a65933911a906a4bca633457c8af
Author: Albert Astals Cid <aacid@kde.org>
Date:   Fri Oct 30 16:04:53 2020 +0100

    CI: Fix qt6 build

 CMakeLists.txt | 1 +
 1 file changed, 1 insertion(+)

commit 1ad3bc825185d6cb0bc922d0dafdc3815558011d
Author: Albert Astals Cid <aacid@kde.org>
Date:   Thu Oct 29 19:46:09 2020 +0100

    CI: Use debian:unstable instead of fedora:31 that has a newer clazy

    clazy is broken in fedora 32 and 33 and i'm tired of complaining

 .gitlab-ci.yml | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

commit 6d7ed61dfa6a650078446d7a41ab95f2458cfd70
Author: Albert Astals Cid <albert.astals.cid@kdab.com>
Date:   Thu Oct 29 15:53:58 2020 +0100

    const++

 poppler/Annot.cc | 3 ++-
 poppler/Annot.h  | 3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

commit b4c83738d82ba0d34b050dc4e4cfec53fe02fcdd
Author: Albert Astals Cid <aacid@kde.org>
Date:   Thu Oct 29 14:51:00 2020 +0100

    cmake: Enable CMAKE_LINK_DEPENDS_NO_SHARED

    No need to relink libraries just because the .so it depends on
    has been
    rebuilt

 CMakeLists.txt | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

commit 148e5424e6f0deb7680fdc9b25736888089b6b41
Author: Albert Astals Cid <aacid@kde.org>
Date:   Thu Oct 29 13:47:13 2020 +0100

    clang: Warn about weak-vtables

 CMakeLists.txt                    |  1 +
 cmake/modules/PopplerMacros.cmake |  1 +
 glib/poppler-document.cc          |  4 ++++
 poppler/Annot.cc                  |  4 ++++
 poppler/Annot.h                   |  3 ++-
 poppler/CachedFile.cc             |  4 +++-
 poppler/CachedFile.h              |  4 ++--
 poppler/CairoOutputDev.cc         |  5 ++++-
 poppler/JBIG2Stream.cc            |  6 ++++--
 poppler/Link.cc                   |  2 ++
 poppler/Link.h                    |  1 +
 poppler/PDFDocBuilder.cc          | 13 +++++++++++++
 poppler/PDFDocBuilder.h           |  4 ++--
 poppler/SplashOutputDev.cc        |  4 +++-
 poppler/Stream.cc                 | 10 ++++++++++
 poppler/Stream.h                  |  4 ++--
 poppler/TextOutputDev.cc          |  4 +++-
 poppler/XRef.cc                   |  2 ++
 poppler/XRef.h                    |  2 +-
 qt5/src/poppler-annotation.cc     | 14 ++++++++------
 qt5/src/poppler-link-private.h    |  6 ++++--
 qt5/src/poppler-link.cc           | 24 +++++++++++++++++++++++-
 qt5/src/poppler-page.cc           |  7 +++++++
 qt5/src/poppler-pdf-converter.cc  |  5 ++++-
 qt5/src/poppler-ps-converter.cc   |  5 ++++-
 qt6/src/poppler-annotation.cc     | 12 +++++++-----
 qt6/src/poppler-link-private.h    |  6 ++++--
 qt6/src/poppler-link.cc           | 29 ++++++++++++++++++++++++++++-
 qt6/src/poppler-page.cc           |  7 +++++++
 qt6/src/poppler-pdf-converter.cc  |  5 ++++-
 qt6/src/poppler-ps-converter.cc   |  5 ++++-
 splash/SplashPattern.cc           |  7 +++++++
 splash/SplashPattern.h            |  2 ++
 utils/pdftohtml.cc                |  7 +++++--
 34 files changed, 182 insertions(+), 37 deletions(-)

commit 9625dfa3c22dcb9075e062912cdf8c60b379d7d8
Author: Albert Astals Cid <aacid@kde.org>
Date:   Thu Oct 29 14:29:11 2020 +0100

    qt6: properly namespace enums to use the correct ones
