Hello community,

here is the log from the commit of package poppler for openSUSE:Factory checked 
in at 2020-04-18 00:29:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/poppler (Old)
 and      /work/SRC/openSUSE:Factory/.poppler.new.2738 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "poppler"

Sat Apr 18 00:29:45 2020 rev:157 rq:794550 version:0.87.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/poppler/poppler.changes  2020-04-05 
20:52:24.841117685 +0200
+++ /work/SRC/openSUSE:Factory/.poppler.new.2738/poppler.changes        
2020-04-18 00:32:00.638248642 +0200
@@ -1,0 +2,15 @@
+Mon Apr  6 10:35:41 UTC 2020 - Bjørn Lie <[email protected]>
+
+- Update to version 0.87.0:
+  + core:
+    - Fix crashes due to inconsistent vtables for Clang builds
+    - Fix leak in broken files
+    - Internal code improvements
+  + qt5:
+    - Add option to get form choice for export value
+    - ArthurOutputDev: Avoid division by zero in updateLineDash
+  + glib: Internal code improvements
+  + utils: pdftohtml: Fix memory leak in HtmlOutputDev::getLinkDest
+- Bump poppler_sover following upstream changes.
+
+-------------------------------------------------------------------

Old:
----
  poppler-0.86.1.tar.xz

New:
----
  poppler-0.87.0.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ poppler.spec ++++++
--- /var/tmp/diff_new_pack.69gTix/_old  2020-04-18 00:32:01.346250109 +0200
+++ /var/tmp/diff_new_pack.69gTix/_new  2020-04-18 00:32:01.346250109 +0200
@@ -24,11 +24,11 @@
 %endif
 
 Name:           poppler%{?psuffix}
-Version:        0.86.1
+Version:        0.87.0
 Release:        0
 # Actual version of poppler-data:
 %define poppler_data_version 0.4.9
-%define poppler_sover 97
+%define poppler_sover 98
 %define poppler_cpp_sover 0
 %define poppler_glib_sover 8
 %define poppler_qt5_sover 1


++++++ poppler-0.86.1.tar.xz -> poppler-0.87.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/poppler-0.86.1/.gitlab-ci.yml 
new/poppler-0.87.0/.gitlab-ci.yml
--- old/poppler-0.86.1/.gitlab-ci.yml   2020-03-01 20:52:52.000000000 +0100
+++ new/poppler-0.87.0/.gitlab-ci.yml   2020-03-28 15:41:37.000000000 +0100
@@ -1,4 +1,4 @@
-image: debian:unstable
+image: debian:testing
 
 stages:
   - build
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/poppler-0.86.1/CMakeLists.txt 
new/poppler-0.87.0/CMakeLists.txt
--- old/poppler-0.86.1/CMakeLists.txt   2020-03-01 20:52:52.000000000 +0100
+++ new/poppler-0.87.0/CMakeLists.txt   2020-03-28 15:41:37.000000000 +0100
@@ -36,8 +36,8 @@
 endif()
 
 set(POPPLER_MAJOR_VERSION "0")
-set(POPPLER_MINOR_VERSION "86")
-set(POPPLER_MICRO_VERSION "1")
+set(POPPLER_MINOR_VERSION "87")
+set(POPPLER_MICRO_VERSION "0")
 set(POPPLER_VERSION 
"${POPPLER_MAJOR_VERSION}.${POPPLER_MINOR_VERSION}.${POPPLER_MICRO_VERSION}")
 
 set (CMAKE_CXX_STANDARD 14)
@@ -533,7 +533,7 @@
 else()
 add_library(poppler ${poppler_SRCS})
 endif()
-set_target_properties(poppler PROPERTIES VERSION 97.0.0 SOVERSION 97)
+set_target_properties(poppler PROPERTIES VERSION 98.0.0 SOVERSION 98)
 if(MINGW AND BUILD_SHARED_LIBS)
     get_target_property(POPPLER_SOVERSION poppler SOVERSION)
     set_target_properties(poppler PROPERTIES SUFFIX 
"-${POPPLER_SOVERSION}${CMAKE_SHARED_LIBRARY_SUFFIX}")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/poppler-0.86.1/ChangeLog new/poppler-0.87.0/ChangeLog
--- old/poppler-0.86.1/ChangeLog        2020-03-01 20:56:06.000000000 +0100
+++ new/poppler-0.87.0/ChangeLog        2020-03-28 15:45:00.000000000 +0100
@@ -1,3 +1,157 @@
+commit 0e938b2f82fbb1cf129ee40c84a3081a10c39d0a
+Author: Albert Astals Cid <[email protected]>
+Date:   Sat Mar 28 15:41:37 2020 +0100
+
+    0.87.0
+
+ CMakeLists.txt         |  6 +++---
+ NEWS                   | 15 +++++++++++++++
+ cpp/Doxyfile           |  2 +-
+ qt5/src/CMakeLists.txt |  2 +-
+ qt5/src/Doxyfile       |  2 +-
+ 5 files changed, 21 insertions(+), 6 deletions(-)
+
+commit f19d6723313c0db1b63b8a04c0d2475422b875fb
+Author: Albert Astals Cid <[email protected]>
+Date:   Thu Mar 26 22:50:34 2020 +0100
+
+    Update (C)
+
+ qt5/src/ArthurOutputDev.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 5e1a83dbdc065504291528554cb11ab8fabeb5f6
+Author: Oliver Sander <[email protected]>
+Date:   Wed Mar 25 21:14:34 2020 +0100
+
+    Avoid division by zero in updateLineDash
+
+    Qt measures dash patterns in terms of line width.
+    This means that you have to divide by the width,
+    which doesn't work if the line width is 'cosmetic',
+    i.e., zero. The Qt documentation states that this
+    case should be treated as if the line width
+    was 1 pixel.
+
+    BUG: 695
+
+ qt5/src/ArthurOutputDev.cc | 9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
+
+commit 170aa09affc7637cdc8087bb7ae8012b37a80025
+Author: Albert Astals Cid <[email protected]>
+Date:   Wed Mar 18 17:51:18 2020 +0100
+
+    Simplify LinkRendition
+
+ glib/poppler-action.cc | 2 +-
+ poppler/Link.cc        | 2 +-
+ poppler/Link.h         | 6 +-----
+ 3 files changed, 3 insertions(+), 7 deletions(-)
+
+commit 535db3f8c2d18b2a3c76794b5cc8d4d79f5aef70
+Author: Albert Astals Cid <[email protected]>
+Date:   Thu Mar 26 22:30:17 2020 +0100
+
+    CI: Use debian testing while unstable is broken
+
+ .gitlab-ci.yml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 388a7522beaa3abd9c7c0fb437dc3ca513d250b7
+Author: Albert Astals Cid <[email protected]>
+Date:   Thu Mar 26 22:30:02 2020 +0100
+
+    Update (C)
+
+ poppler/JPEG2000Stream.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 4382264f1b96e6ad6c9e481e4ceae3c22dbcd2f3
+Author: Albert Astals Cid <[email protected]>
+Date:   Sun Mar 22 12:32:02 2020 +0100
+
+    Fix leak in broken files
+
+    oss-fuzz/21330
+
+ poppler/JPEG2000Stream.cc | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 5c601c40d84686134d90a0f862e2507bd628e188
+Author: Albert Astals Cid <[email protected]>
+Date:   Tue Mar 17 23:39:53 2020 +0100
+
+    qt5: Add option to get choice for export value
+
+ poppler/Form.cc         |  5 +++++
+ poppler/Form.h          |  3 ++-
+ qt5/src/poppler-form.cc | 18 +++++++++++++++++-
+ qt5/src/poppler-form.h  | 10 +++++++++-
+ 4 files changed, 33 insertions(+), 3 deletions(-)
+
+commit 4813adfada062a9161b55e412e3997b748123f7f
+Author: Albert Astals Cid <[email protected]>
+Date:   Thu Mar 19 17:17:04 2020 +0100
+
+    Some more const
+
+ glib/demo/annots.c     | 2 +-
+ splash/SplashFTFont.cc | 4 ++--
+ splash/SplashScreen.cc | 8 ++++----
+ splash/SplashScreen.h  | 6 +++---
+ utils/InMemoryFile.cc  | 3 ++-
+ utils/pdfattach.cc     | 4 ++--
+ utils/pdfdetach.cc     | 2 +-
+ 7 files changed, 15 insertions(+), 14 deletions(-)
+
+commit 81a86064c14a7fc25047b6040d65464e732cf501
+Author: Adam Reichold <[email protected]>
+Date:   Wed Mar 18 11:39:50 2020 +0100
+
+    Fix vague linkage of Link* class vtables
+
+    Due to falling back to the implicitly inline destructors,
+    some of the Link* classes had all their overridden methods
+    defined inline with made the linkage of their vtables vague.
+
+    This change moves their destructors into a defined translation
+    unit thereby anchoring their vtables in the libpoppler DSO which
+    fixes issues using dynamic_cast when builing Poppler using Clang.
+
+ poppler/Link.cc | 20 ++++++++++++++++++++
+ poppler/Link.h  | 20 +++++++++++++++++++-
+ 2 files changed, 39 insertions(+), 1 deletion(-)
+
+commit 80fa729be74bfcfbf9cf2208a55ad95bf113217b
+Author: Albert Astals Cid <[email protected]>
+Date:   Sat Mar 14 17:20:01 2020 +0100
+
+    Update (C)
+
+ utils/HtmlOutputDev.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 68b6dd2ecd868c1a757cb8b9273e2e26687e5229
+Author: Adam Reichold <[email protected]>
+Date:   Sat Mar 14 14:49:17 2020 +0100
+
+    Replace dynamic_cast by static_cast where we already perform the
+    type checks explicitly before downcasting.
+
+ glib/poppler-action.cc | 18 +++++++++---------
+ utils/HtmlOutputDev.cc |  2 +-
+ 2 files changed, 10 insertions(+), 10 deletions(-)
+
+commit af5565087b63aebfbb20a155dd9318312f688f92
+Author: Alex Henrie <[email protected]>
+Date:   Wed Mar 11 17:06:16 2020 -0600
+
+    Fix memory leak in HtmlOutputDev::getLinkDest
+
+ utils/HtmlOutputDev.cc | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
 commit f1480aa0720b3f2d4d12b6e1b4370e2ced4c06f2
 Author: Albert Astals Cid <[email protected]>
 Date:   Sun Mar 1 20:52:52 2020 +0100
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/poppler-0.86.1/NEWS new/poppler-0.87.0/NEWS
--- old/poppler-0.86.1/NEWS     2020-03-01 20:52:52.000000000 +0100
+++ new/poppler-0.87.0/NEWS     2020-03-28 15:41:37.000000000 +0100
@@ -1,3 +1,18 @@
+Release 0.87.0:
+        core:
+         * Fix leak in broken files
+         * Internal code improvements
+
+        qt5:
+         * Add option to get form choice for export value
+         * ArthurOutputDev: Avoid division by zero in updateLineDash. Issue 
#695
+
+        glib:
+         * Internal code improvements
+
+         utils:
+         * pdftohtml: Fix memory leak in HtmlOutputDev::getLinkDest
+
 Release 0.86.1:
         core:
          * Fix regression in Browse Link handling
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/poppler-0.86.1/cpp/Doxyfile 
new/poppler-0.87.0/cpp/Doxyfile
--- old/poppler-0.86.1/cpp/Doxyfile     2020-03-01 20:52:52.000000000 +0100
+++ new/poppler-0.87.0/cpp/Doxyfile     2020-03-28 15:41:37.000000000 +0100
@@ -31,7 +31,7 @@
 # This could be handy for archiving the generated documentation or
 # if some version control system is used.
 
-PROJECT_NUMBER         = 0.86.1
+PROJECT_NUMBER         = 0.87.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-0.86.1/glib/demo/annots.c 
new/poppler-0.87.0/glib/demo/annots.c
--- old/poppler-0.86.1/glib/demo/annots.c       2020-03-01 20:52:52.000000000 
+0100
+++ new/poppler-0.87.0/glib/demo/annots.c       2020-03-28 15:41:37.000000000 
+0100
@@ -44,7 +44,7 @@
   const gchar *label;
 } Annotations;
 
-static Annotations supported_annots[] = {
+static const Annotations supported_annots[] = {
     { POPPLER_ANNOT_TEXT,       "Text" },
     { POPPLER_ANNOT_LINE,       "Line" },
     { POPPLER_ANNOT_SQUARE,     "Square" },
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/poppler-0.86.1/glib/poppler-action.cc 
new/poppler-0.87.0/glib/poppler-action.cc
--- old/poppler-0.86.1/glib/poppler-action.cc   2020-03-01 20:52:52.000000000 
+0100
+++ new/poppler-0.87.0/glib/poppler-action.cc   2020-03-28 15:41:37.000000000 
+0100
@@ -528,7 +528,7 @@
                 const LinkRendition *link)
 {
        action->rendition.op = link->getOperation();
-       if (link->hasRenditionObject())
+       if (link->getMedia())
                action->rendition.media = _poppler_media_new (link->getMedia());
        // TODO: annotation reference
 }
@@ -627,39 +627,39 @@
        switch (link->getKind ()) {
        case actionGoTo:
                action->type = POPPLER_ACTION_GOTO_DEST;
-               build_goto_dest (document, action, dynamic_cast <const LinkGoTo 
*> (link));
+               build_goto_dest (document, action, static_cast <const LinkGoTo 
*> (link));
                break;
        case actionGoToR:
                action->type = POPPLER_ACTION_GOTO_REMOTE;
-               build_goto_remote (action, dynamic_cast <const LinkGoToR *> 
(link));
+               build_goto_remote (action, static_cast <const LinkGoToR *> 
(link));
                break;
        case actionLaunch:
                action->type = POPPLER_ACTION_LAUNCH;
-               build_launch (action, dynamic_cast <const LinkLaunch *> (link));
+               build_launch (action, static_cast <const LinkLaunch *> (link));
                break;
        case actionURI:
                action->type = POPPLER_ACTION_URI;
-               build_uri (action, dynamic_cast <const LinkURI *> (link));
+               build_uri (action, static_cast <const LinkURI *> (link));
                break;
        case actionNamed:
                action->type = POPPLER_ACTION_NAMED;
-               build_named (action, dynamic_cast <const LinkNamed *> (link));
+               build_named (action, static_cast <const LinkNamed *> (link));
                break;
        case actionMovie:
                action->type = POPPLER_ACTION_MOVIE;
-               build_movie (document, action, dynamic_cast<const LinkMovie*> 
(link));
+               build_movie (document, action, static_cast<const LinkMovie*> 
(link));
                break;
        case actionRendition:
                action->type = POPPLER_ACTION_RENDITION;
-               build_rendition (action, dynamic_cast<const LinkRendition*> 
(link));
+               build_rendition (action, static_cast<const LinkRendition*> 
(link));
                break;
        case actionOCGState:
                action->type = POPPLER_ACTION_OCG_STATE;
-               build_ocg_state (document, action, dynamic_cast<const 
LinkOCGState*> (link));
+               build_ocg_state (document, action, static_cast<const 
LinkOCGState*> (link));
                break;
        case actionJavaScript:
                action->type = POPPLER_ACTION_JAVASCRIPT;
-               build_javascript (action, dynamic_cast<const LinkJavaScript*> 
(link));
+               build_javascript (action, static_cast<const LinkJavaScript*> 
(link));
                break;
        case actionUnknown:
        default:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/poppler-0.86.1/glib/reference/html/index.html 
new/poppler-0.87.0/glib/reference/html/index.html
--- old/poppler-0.86.1/glib/reference/html/index.html   2020-03-01 
20:55:21.000000000 +0100
+++ new/poppler-0.87.0/glib/reference/html/index.html   2020-03-28 
15:44:00.000000000 +0100
@@ -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 0.86.1
+      for Poppler 0.87.0
     </p></div>
 </div>
 <hr>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/poppler-0.86.1/poppler/Form.cc 
new/poppler-0.87.0/poppler/Form.cc
--- old/poppler-0.86.1/poppler/Form.cc  2020-03-01 20:52:52.000000000 +0100
+++ new/poppler-0.87.0/poppler/Form.cc  2020-03-28 15:41:37.000000000 +0100
@@ -423,6 +423,11 @@
   return parent()->getChoice(i);
 }
 
+const GooString* FormWidgetChoice::getExportVal(int i) const
+{
+  return parent()->getExportVal(i);
+}
+
 bool FormWidgetChoice::isCombo () const 
 { 
   return parent()->isCombo();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/poppler-0.86.1/poppler/Form.h 
new/poppler-0.87.0/poppler/Form.h
--- old/poppler-0.86.1/poppler/Form.h   2020-03-01 20:52:52.000000000 +0100
+++ new/poppler-0.87.0/poppler/Form.h   2020-03-28 15:41:37.000000000 +0100
@@ -6,7 +6,7 @@
 //
 // Copyright 2006 Julien Rebetez <[email protected]>
 // Copyright 2007, 2008, 2011 Carlos Garcia Campos <[email protected]>
-// Copyright 2007-2010, 2012, 2015-2019 Albert Astals Cid <[email protected]>
+// Copyright 2007-2010, 2012, 2015-2020 Albert Astals Cid <[email protected]>
 // Copyright 2010 Mark Riedesel <[email protected]>
 // Copyright 2011 Pino Toscano <[email protected]>
 // Copyright 2012 Fabio D'Urso <[email protected]>
@@ -228,6 +228,7 @@
   int getNumChoices() const;
   //return the display name of the i-th choice (UTF16BE)
   const GooString* getChoice(int i) const;
+  const GooString* getExportVal(int i) const;
   //select the i-th choice
   void select (int i); 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/poppler-0.86.1/poppler/JPEG2000Stream.cc 
new/poppler-0.87.0/poppler/JPEG2000Stream.cc
--- old/poppler-0.86.1/poppler/JPEG2000Stream.cc        2020-03-01 
20:52:52.000000000 +0100
+++ new/poppler-0.87.0/poppler/JPEG2000Stream.cc        2020-03-28 
15:41:37.000000000 +0100
@@ -4,7 +4,7 @@
 //
 // A JPX stream decoder using OpenJPEG
 //
-// Copyright 2008-2010, 2012, 2017-2019 Albert Astals Cid <[email protected]>
+// Copyright 2008-2010, 2012, 2017-2020 Albert Astals Cid <[email protected]>
 // Copyright 2011 Daniel Glöckner <[email protected]>
 // Copyright 2014, 2016 Thomas Freitag <[email protected]>
 // Copyright 2013, 2014 Adrian Johnson <[email protected]>
@@ -357,6 +357,10 @@
     return;
 
 error:
+  if (image != nullptr) {
+    opj_image_destroy(image);
+    image = nullptr;
+  }
   opj_stream_destroy(stream);
   opj_destroy_codec(decoder);
   if (format == OPJ_CODEC_JP2) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/poppler-0.86.1/poppler/Link.cc 
new/poppler-0.87.0/poppler/Link.cc
--- old/poppler-0.86.1/poppler/Link.cc  2020-03-01 20:52:52.000000000 +0100
+++ new/poppler-0.87.0/poppler/Link.cc  2020-03-28 15:41:37.000000000 +0100
@@ -444,6 +444,8 @@
   }
 }
 
+LinkGoTo::~LinkGoTo() = default;
+
 //------------------------------------------------------------------------
 // LinkGoToR
 //------------------------------------------------------------------------
@@ -474,6 +476,8 @@
   }
 }
 
+LinkGoToR::~LinkGoToR() = default;
+
 //------------------------------------------------------------------------
 // LinkLaunch
 //------------------------------------------------------------------------
@@ -552,6 +556,8 @@
   }
 }
 
+LinkURI::~LinkURI() = default;
+
 //------------------------------------------------------------------------
 // LinkNamed
 //------------------------------------------------------------------------
@@ -564,6 +570,8 @@
   }
 }
 
+LinkNamed::~LinkNamed() = default;
+
 //------------------------------------------------------------------------
 // LinkMovie
 //------------------------------------------------------------------------
@@ -607,6 +615,8 @@
   }
 }
 
+LinkMovie::~LinkMovie() = default;
+
 //------------------------------------------------------------------------
 // LinkSound
 //------------------------------------------------------------------------
@@ -645,6 +655,8 @@
   }
 }
 
+LinkSound::~LinkSound() = default;
+
 //------------------------------------------------------------------------
 // LinkRendition
 //------------------------------------------------------------------------
@@ -676,7 +688,7 @@
         error(errSyntaxWarning, -1, "Invalid Rendition Action: unrecognized 
operation valued: {0:d}", operationCode);
       } else {
         // retrieve rendition object
-        renditionObj = obj->dictLookup("R");
+        Object renditionObj = obj->dictLookup("R");
         if (renditionObj.isDict()) {
           media = new MediaRendition(&renditionObj);
        } else if (operationCode == 0 || operationCode == 4) {
@@ -738,6 +750,8 @@
   }
 }
 
+LinkJavaScript::~LinkJavaScript() = default;
+
 Object LinkJavaScript::createObject(XRef *xref, const GooString &js)
 {
   Dict *linkDict = new Dict(xref);
@@ -793,6 +807,8 @@
   preserveRB = obj->dictLookup("PreserveRB").getBoolWithDefaultValue(true);
 }
 
+LinkOCGState::~LinkOCGState() = default;
+
 //------------------------------------------------------------------------
 // LinkHide
 //------------------------------------------------------------------------
@@ -814,6 +830,8 @@
   }
 }
 
+LinkHide::~LinkHide() = default;
+
 //------------------------------------------------------------------------
 // LinkUnknown
 //------------------------------------------------------------------------
@@ -822,6 +840,8 @@
   action = std::string(actionA ? actionA : "");
 }
 
+LinkUnknown::~LinkUnknown() = default;
+
 //------------------------------------------------------------------------
 // Links
 //------------------------------------------------------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/poppler-0.86.1/poppler/Link.h 
new/poppler-0.87.0/poppler/Link.h
--- old/poppler-0.86.1/poppler/Link.h   2020-03-01 20:52:52.000000000 +0100
+++ new/poppler-0.87.0/poppler/Link.h   2020-03-28 15:41:37.000000000 +0100
@@ -17,7 +17,7 @@
 // Copyright (C) 2008 Hugo Mercier <[email protected]>
 // Copyright (C) 2010, 2011 Carlos Garcia Campos <[email protected]>
 // Copyright (C) 2012 Tobias Koening <[email protected]>
-// Copyright (C) 2018, 2019 Albert Astals Cid <[email protected]>
+// Copyright (C) 2018-2020 Albert Astals Cid <[email protected]>
 // Copyright (C) 2018 Klarälvdalens Datakonsult AB, a KDAB Group company, 
<[email protected]>. Work sponsored by the LiMux project of the city of Munich
 // Copyright (C) 2018 Intevation GmbH <[email protected]>
 // Copyright (C) 2019, 2020 Oliver Sander <[email protected]>
@@ -164,6 +164,8 @@
   // Build a LinkGoTo from a destination (dictionary, name, or string).
   LinkGoTo(const Object *destObj);
 
+  ~LinkGoTo() override;
+
   // Was the LinkGoTo created successfully?
   bool isOk() const override { return dest || namedDest; }
 
@@ -191,6 +193,8 @@
   // (dictionary, name, or string).
   LinkGoToR(Object *fileSpecObj, Object *destObj);
 
+  ~LinkGoToR() override;
+
   // Was the LinkGoToR created successfully?
   bool isOk() const override { return fileName && (dest || namedDest); }
 
@@ -243,6 +247,8 @@
   // Build a LinkURI given the URI (string) and base URI.
   LinkURI(const Object *uriObj, const GooString *baseURI);
 
+  ~LinkURI() override;
+
   // Was the LinkURI created successfully?
   bool isOk() const override { return hasURIFlag; }
 
@@ -266,6 +272,8 @@
   // Build a LinkNamed given the action name.
   LinkNamed(const Object *nameObj);
 
+  ~LinkNamed() override;
+
   bool isOk() const override { return hasNameFlag; }
 
   LinkActionKind getKind() const override { return actionNamed; }
@@ -294,6 +302,8 @@
 
   LinkMovie(const Object *obj);
 
+  ~LinkMovie() override;
+
   bool isOk() const override { return hasAnnotRef() || hasAnnotTitleFlag; }
   LinkActionKind getKind() const override { return actionMovie; }
 
@@ -342,9 +352,6 @@
 
   LinkActionKind getKind() const override { return actionRendition; }
 
-  bool hasRenditionObject() const { return renditionObj.isDict(); }
-  const Object* getRenditionObject() const { return &renditionObj; }
-
   bool hasScreenAnnot() const { return screenRef != Ref::INVALID(); }
   Ref getScreenAnnot() const { return screenRef; }
 
@@ -357,7 +364,6 @@
 private:
 
   Ref screenRef;
-  Object renditionObj;
   RenditionOperation operation;
 
   MediaRendition* media;
@@ -374,6 +380,8 @@
 
   LinkSound(const Object *soundObj);
 
+  ~LinkSound() override;
+
   bool isOk() const override { return sound != nullptr; }
 
   LinkActionKind getKind() const override { return actionSound; }
@@ -403,6 +411,8 @@
   // Build a LinkJavaScript given the action name.
   LinkJavaScript(Object *jsObj);
 
+  ~LinkJavaScript() override;
+
   bool isOk() const override { return isValid; }
 
   LinkActionKind getKind() const override { return actionJavaScript; }
@@ -423,7 +433,7 @@
 public:
   LinkOCGState(const Object *obj);
 
-  ~LinkOCGState() override = default;
+  ~LinkOCGState() override;
 
   bool isOk() const override { return isValid; }
 
@@ -454,6 +464,8 @@
 public:
   LinkHide(const Object *hideObj);
 
+  ~LinkHide() override;
+
   bool isOk() const override { return hasTargetNameFlag; }
   LinkActionKind getKind() const override { return actionHide; }
 
@@ -489,6 +501,8 @@
   // Build a LinkUnknown with the specified action type.
   LinkUnknown(const char *actionA);
 
+  ~LinkUnknown() override;
+
   // Was the LinkUnknown create successfully?
   // Yes: nothing can go wrong when creating LinkUnknown objects
   bool isOk() const override { return true; }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/poppler-0.86.1/qt5/src/ArthurOutputDev.cc 
new/poppler-0.87.0/qt5/src/ArthurOutputDev.cc
--- old/poppler-0.86.1/qt5/src/ArthurOutputDev.cc       2020-03-01 
20:52:52.000000000 +0100
+++ new/poppler-0.87.0/qt5/src/ArthurOutputDev.cc       2020-03-28 
15:41:37.000000000 +0100
@@ -23,7 +23,7 @@
 // Copyright (C) 2013 Thomas Freitag <[email protected]>
 // Copyright (C) 2013 Dominik Haumann <[email protected]>
 // Copyright (C) 2013 Mihai Niculescu <[email protected]>
-// Copyright (C) 2017, 2018 Oliver Sander <[email protected]>
+// Copyright (C) 2017, 2018, 2020 Oliver Sander <[email protected]>
 // Copyright (C) 2017 Adrian Johnson <[email protected]>
 // Copyright (C) 2018 Klarälvdalens Datakonsult AB, a KDAB Group company, 
<[email protected]>. Work sponsored by the LiMux project of the city of Munich
 // Copyright (C) 2018 Adam Reichold <[email protected]>
@@ -268,10 +268,17 @@
   }
 
   QVector<qreal> pattern(dashLength);
+  double scaling = state->getLineWidth();
+
+  //  Negative line widths are not allowed, width 0 counts as 'one pixel 
width'.
+  if (scaling <= 0) {
+    scaling = 1.0;
+  }
+
   for (int i = 0; i < dashLength; ++i) {
     // pdf measures the dash pattern in dots, but Qt uses the
     // line width as the unit.
-    pattern[i] = dashPattern[i] / state->getLineWidth();
+    pattern[i] = dashPattern[i] / scaling;
   }
   m_currentPen.setDashPattern(pattern);
   m_currentPen.setDashOffset(dashStart);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/poppler-0.86.1/qt5/src/CMakeLists.txt 
new/poppler-0.87.0/qt5/src/CMakeLists.txt
--- old/poppler-0.86.1/qt5/src/CMakeLists.txt   2020-03-01 20:52:52.000000000 
+0100
+++ new/poppler-0.87.0/qt5/src/CMakeLists.txt   2020-03-28 15:41:37.000000000 
+0100
@@ -40,7 +40,7 @@
   poppler-version.cpp
 )
 add_library(poppler-qt5 ${poppler_qt5_SRCS})
-set_target_properties(poppler-qt5 PROPERTIES VERSION 1.22.0 SOVERSION 1)
+set_target_properties(poppler-qt5 PROPERTIES VERSION 1.23.0 SOVERSION 1)
 if(MINGW AND BUILD_SHARED_LIBS)
     get_target_property(POPPLER_QT5_SOVERSION poppler-qt5 SOVERSION)
     set_target_properties(poppler-qt5 PROPERTIES SUFFIX 
"-${POPPLER_QT5_SOVERSION}${CMAKE_SHARED_LIBRARY_SUFFIX}")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/poppler-0.86.1/qt5/src/Doxyfile 
new/poppler-0.87.0/qt5/src/Doxyfile
--- old/poppler-0.86.1/qt5/src/Doxyfile 2020-03-01 20:52:52.000000000 +0100
+++ new/poppler-0.87.0/qt5/src/Doxyfile 2020-03-28 15:41:37.000000000 +0100
@@ -31,7 +31,7 @@
 # This could be handy for archiving the generated documentation or
 # if some version control system is used.
 
-PROJECT_NUMBER         = 0.86.1
+PROJECT_NUMBER         = 0.87.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-0.86.1/qt5/src/poppler-form.cc 
new/poppler-0.87.0/qt5/src/poppler-form.cc
--- old/poppler-0.86.1/qt5/src/poppler-form.cc  2020-03-01 20:52:52.000000000 
+0100
+++ new/poppler-0.87.0/qt5/src/poppler-form.cc  2020-03-28 15:41:37.000000000 
+0100
@@ -1,6 +1,6 @@
 /* poppler-form.h: qt interface to poppler
  * Copyright (C) 2007-2008, 2011, Pino Toscano <[email protected]>
- * Copyright (C) 2008, 2011, 2012, 2015-2019 Albert Astals Cid <[email protected]>
+ * Copyright (C) 2008, 2011, 2012, 2015-2020 Albert Astals Cid <[email protected]>
  * Copyright (C) 2011 Carlos Garcia Campos <[email protected]>
  * Copyright (C) 2012, Adam Reichold <[email protected]>
  * Copyright (C) 2016, Hanno Meyer-Thurow <[email protected]>
@@ -512,6 +512,22 @@
   }
   return ret;
 }
+
+QVector<QPair<QString,QString>> FormFieldChoice::choicesWithExportValues() 
const
+{
+  FormWidgetChoice* fwc = static_cast<FormWidgetChoice*>(m_formData->fm);
+  QVector<QPair<QString, QString>> ret;
+  const int num = fwc->getNumChoices();
+  ret.reserve(num);
+  for (int i = 0; i < num; ++i)
+  {
+    const QString display = UnicodeParsedString(fwc->getChoice(i));
+    const GooString *exportValueG = fwc->getExportVal(i);
+    const QString exportValue = exportValueG ? 
UnicodeParsedString(exportValueG) : display;
+    ret.append({display, exportValue});
+  }
+  return ret;
+}
 
 bool FormFieldChoice::isEditable() const
 {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/poppler-0.86.1/qt5/src/poppler-form.h 
new/poppler-0.87.0/qt5/src/poppler-form.h
--- old/poppler-0.86.1/qt5/src/poppler-form.h   2020-03-01 20:52:52.000000000 
+0100
+++ new/poppler-0.87.0/qt5/src/poppler-form.h   2020-03-28 15:41:37.000000000 
+0100
@@ -1,6 +1,6 @@
 /* poppler-form.h: qt interface to poppler
  * Copyright (C) 2007-2008, Pino Toscano <[email protected]>
- * Copyright (C) 2008, 2011, 2016, 2017, 2019, Albert Astals Cid 
<[email protected]>
+ * Copyright (C) 2008, 2011, 2016, 2017, 2019, 2020, Albert Astals Cid 
<[email protected]>
  * Copyright (C) 2012, Adam Reichold <[email protected]>
  * Copyright (C) 2016, Hanno Meyer-Thurow <[email protected]>
  * Copyright (C) 2017, Hans-Ulrich Jüttner <[email protected]>
@@ -411,6 +411,14 @@
        QStringList choices() const;
 
        /**
+         The possible choices of the choice field.
+         The first value of the pair is the display name of the choice,
+         The second value is the export value (i.e. for use in javascript, 
etc) of the choice
+         @since 0.87
+        */
+       QVector<QPair<QString,QString>> choicesWithExportValues() const;
+
+       /**
          Whether this FormFieldChoice::ComboBox is editable, i.e. the user
          can type in a custom value.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/poppler-0.86.1/splash/SplashFTFont.cc 
new/poppler-0.87.0/splash/SplashFTFont.cc
--- old/poppler-0.86.1/splash/SplashFTFont.cc   2020-03-01 20:52:52.000000000 
+0100
+++ new/poppler-0.87.0/splash/SplashFTFont.cc   2020-03-28 15:41:37.000000000 
+0100
@@ -11,7 +11,7 @@
 // All changes made under the Poppler project to this file are licensed
 // under GPL version 2 or later
 //
-// Copyright (C) 2005, 2007-2011, 2014, 2018 Albert Astals Cid <[email protected]>
+// Copyright (C) 2005, 2007-2011, 2014, 2018, 2020 Albert Astals Cid 
<[email protected]>
 // Copyright (C) 2006 Kristian Høgsberg <[email protected]>
 // Copyright (C) 2009 Petr Gajdos <[email protected]>
 // Copyright (C) 2010 Suzuki Toshiya <[email protected]>
@@ -327,7 +327,7 @@
 };
 
 SplashPath *SplashFTFont::getGlyphPath(int c) {
-  static FT_Outline_Funcs outlineFuncs = {
+  static const FT_Outline_Funcs outlineFuncs = {
 #if FREETYPE_MINOR <= 1
     (int (*)(FT_Vector *, void *))&glyphPathMoveTo,
     (int (*)(FT_Vector *, void *))&glyphPathLineTo,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/poppler-0.86.1/splash/SplashScreen.cc 
new/poppler-0.87.0/splash/SplashScreen.cc
--- old/poppler-0.86.1/splash/SplashScreen.cc   2020-03-01 20:52:52.000000000 
+0100
+++ new/poppler-0.87.0/splash/SplashScreen.cc   2020-03-28 15:41:37.000000000 
+0100
@@ -11,7 +11,7 @@
 // All changes made under the Poppler project to this file are licensed
 // under GPL version 2 or later
 //
-// Copyright (C) 2009, 2016, 2018 Albert Astals Cid <[email protected]>
+// Copyright (C) 2009, 2016, 2018, 2020 Albert Astals Cid <[email protected]>
 // Copyright (C) 2012 Fabio D'Urso <[email protected]>
 //
 // To see a description of the changes please see the Changelog file that
@@ -30,7 +30,7 @@
 #include "SplashMath.h"
 #include "SplashScreen.h"
 
-static SplashScreenParams defaultParams = {
+static const SplashScreenParams defaultParams = {
   splashScreenDispersed,       // type
   2,                           // size
   2,                           // dotRadius
@@ -62,7 +62,7 @@
 // sqrt(2)).  If <clustered> is false, this generates an optimal
 // threshold matrix using recursive tesselation.  Gamma correction
 // (gamma = 1 / 1.33) is also computed here.
-SplashScreen::SplashScreen(SplashScreenParams *params) {
+SplashScreen::SplashScreen(const SplashScreenParams *params) {
 
   if (!params) {
     params = &defaultParams;
@@ -80,7 +80,7 @@
   unsigned char u;
   int black, white, i;
   
-  SplashScreenParams *params = screenParams;
+  const SplashScreenParams *params = screenParams;
 
   // size must be a power of 2, and at least 2
   for (size = 2, log2Size = 1; size < params->size; size <<= 1, ++log2Size) ;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/poppler-0.86.1/splash/SplashScreen.h 
new/poppler-0.87.0/splash/SplashScreen.h
--- old/poppler-0.86.1/splash/SplashScreen.h    2020-03-01 20:52:52.000000000 
+0100
+++ new/poppler-0.87.0/splash/SplashScreen.h    2020-03-28 15:41:37.000000000 
+0100
@@ -11,7 +11,7 @@
 // All changes made under the Poppler project to this file are licensed
 // under GPL version 2 or later
 //
-// Copyright (C) 2009, 2018 Albert Astals Cid <[email protected]>
+// Copyright (C) 2009, 2018, 2020 Albert Astals Cid <[email protected]>
 //
 // 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
@@ -32,7 +32,7 @@
 class SplashScreen {
 public:
 
-  SplashScreen(SplashScreenParams *params);
+  SplashScreen(const SplashScreenParams *params);
   SplashScreen(SplashScreen *screen);
   ~SplashScreen();
 
@@ -65,7 +65,7 @@
   int distance(int x0, int y0, int x1, int y1);
   void buildSCDMatrix(int r);
 
-  SplashScreenParams *screenParams;    // params to create the other members
+  const SplashScreenParams *screenParams;      // params to create the other 
members
   unsigned char *mat;                  // threshold matrix
   int size;                    // size of the threshold matrix
   int sizeM1;                  // size - 1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/poppler-0.86.1/utils/HtmlOutputDev.cc 
new/poppler-0.87.0/utils/HtmlOutputDev.cc
--- old/poppler-0.86.1/utils/HtmlOutputDev.cc   2020-03-01 20:52:52.000000000 
+0100
+++ new/poppler-0.87.0/utils/HtmlOutputDev.cc   2020-03-28 15:41:37.000000000 
+0100
@@ -42,7 +42,7 @@
 // Copyright (C) 2017 Caolán McNamara <[email protected]>
 // Copyright (C) 2018 Klarälvdalens Datakonsult AB, a KDAB Group company, 
<[email protected]>. Work sponsored by the LiMux project of the city of Munich
 // Copyright (C) 2018 Thibaut Brard <[email protected]>
-// Copyright (C) 2018, 2019 Adam Reichold <[email protected]>
+// Copyright (C) 2018-2020 Adam Reichold <[email protected]>
 // Copyright (C) 2019, 2020 Oliver Sander <[email protected]>
 //
 // To see a description of the changes please see the Changelog file that
@@ -1546,7 +1546,6 @@
   {
       case actionGoTo:
          {
-         GooString* file = new GooString(gbasename(Docname->c_str()));
          int destPage=1;
          LinkGoTo *ha=(LinkGoTo *)link->getAction();
          std::unique_ptr<LinkDest> dest;
@@ -1556,6 +1555,8 @@
              dest=catalog->findDest(ha->getNamedDest());
              
          if (dest){ 
+             GooString* file = new GooString(gbasename(Docname->c_str()));
+
              if (dest->isPageRef()){
                  const Ref pageref=dest->getPageRef();
                  destPage=catalog->findPage(pageref);
@@ -1838,7 +1839,7 @@
     if (!action || action->getKind() != actionGoTo)
         return pagenum;
 
-    link = dynamic_cast<const LinkGoTo*>(action);
+    link = static_cast<const LinkGoTo*>(action);
 
     if (!link || !link->isOk())
         return pagenum;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/poppler-0.86.1/utils/InMemoryFile.cc 
new/poppler-0.87.0/utils/InMemoryFile.cc
--- old/poppler-0.86.1/utils/InMemoryFile.cc    2020-03-01 20:52:52.000000000 
+0100
+++ new/poppler-0.87.0/utils/InMemoryFile.cc    2020-03-28 15:41:37.000000000 
+0100
@@ -11,6 +11,7 @@
 // This file is licensed under the GPLv2 or later
 //
 // Copyright (C) 2018, 2019 Greg Knight <[email protected]>
+// Copyright (C) 2020 Albert Astals Cid <[email protected]>
 //
 //========================================================================
 
@@ -63,7 +64,7 @@
         fprintf(stderr, "InMemoryFile: BUG: Why is this opened more than 
once?");
         return nullptr; // maybe there's some legit reason for it, whoever 
comes up with one can remove this line
     }
-    static cookie_io_functions_t methods = {
+    static const cookie_io_functions_t methods = {
         /* .read = */ [](void* self, char* buf, size_t sz) { return 
((InMemoryFile*)self)->_read(buf, sz); },
         /* .write = */ [](void* self, const char* buf, size_t sz) { return 
((InMemoryFile*)self)->_write(buf, sz); },
         /* .seek = */ [](void* self, off64_t* offset, int whence) { return 
((InMemoryFile*)self)->_seek(offset, whence); },
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/poppler-0.86.1/utils/pdfattach.cc 
new/poppler-0.87.0/utils/pdfattach.cc
--- old/poppler-0.86.1/utils/pdfattach.cc       2020-03-01 20:52:52.000000000 
+0100
+++ new/poppler-0.87.0/utils/pdfattach.cc       2020-03-28 15:41:37.000000000 
+0100
@@ -4,7 +4,7 @@
 //
 // This file is licensed under the GPLv2 or later
 //
-// Copyright (C) 2019 Albert Astals Cid <[email protected]>
+// Copyright (C) 2019, 2020 Albert Astals Cid <[email protected]>
 // Copyright (C) 2019 Oliver Sander <[email protected]>
 //
 // To see a description of the changes please see the Changelog file that
@@ -27,7 +27,7 @@
 static bool printVersion = false;
 static bool printHelp = false;
 
-static ArgDesc argDesc[] = {
+static const ArgDesc argDesc[] = {
   {"-replace",   argFlag,     &doReplace,        0,
    "replace embedded file with same name (if it exists)"},
   {"-v",      argFlag,     &printVersion,  0,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/poppler-0.86.1/utils/pdfdetach.cc 
new/poppler-0.87.0/utils/pdfdetach.cc
--- old/poppler-0.86.1/utils/pdfdetach.cc       2020-03-01 20:52:52.000000000 
+0100
+++ new/poppler-0.87.0/utils/pdfdetach.cc       2020-03-28 15:41:37.000000000 
+0100
@@ -55,7 +55,7 @@
 static bool printVersion = false;
 static bool printHelp = false;
 
-static ArgDesc argDesc[] = {
+static const ArgDesc argDesc[] = {
   {"-list",   argFlag,     &doList,        0,
    "list all embedded files"},
   {"-save",   argInt,      &saveNum,       0,


Reply via email to