[poppler] poppler/Form.h poppler/Outline.cc poppler/Outline.h qt5/src utils/JSInfo.h utils/pdftocairo.cc utils/pdftoppm.cc

2020-02-26 Thread GitLab Mirror
 poppler/Form.h|2 +-
 poppler/Outline.cc|2 +-
 poppler/Outline.h |2 +-
 qt5/src/poppler-annotation.cc |2 +-
 utils/JSInfo.h|1 +
 utils/pdftocairo.cc   |2 +-
 utils/pdftoppm.cc |2 +-
 7 files changed, 7 insertions(+), 6 deletions(-)

New commits:
commit d4a7367d994483f05151892ee8f14e138e0731c7
Author: Albert Astals Cid 
Date:   Wed Feb 26 22:54:41 2020 +0100

Update (C) of last commit

diff --git a/poppler/Form.h b/poppler/Form.h
index 38f0f51c..77528dda 100644
--- a/poppler/Form.h
+++ b/poppler/Form.h
@@ -18,7 +18,7 @@
 // Copyright 2018 Andre Heinecke 
 // Copyright 2018 Klarälvdalens Datakonsult AB, a KDAB Group company, 
. Work sponsored by the LiMux project of the city of Munich
 // Copyright 2018 Chinmoy Ranjan Pradhan 
-// Copyright 2019 Oliver Sander 
+// Copyright 2019, 2020 Oliver Sander 
 // Copyright 2019 João Netto 
 //
 //
diff --git a/poppler/Outline.cc b/poppler/Outline.cc
index 8a38c1d2..e0388f1f 100644
--- a/poppler/Outline.cc
+++ b/poppler/Outline.cc
@@ -20,7 +20,7 @@
 // Copyright (C) 2017 Adrian Johnson 
 // Copyright (C) 2018 Klarälvdalens Datakonsult AB, a KDAB Group company, 
. Work sponsored by the LiMux project of the city of Munich
 // Copyright (C) 2018 Adam Reichold 
-// Copyright (C) 2019 Oliver Sander 
+// Copyright (C) 2019, 2020 Oliver Sander 
 //
 // 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
diff --git a/poppler/Outline.h b/poppler/Outline.h
index 1aa66adc..9bdc656d 100644
--- a/poppler/Outline.h
+++ b/poppler/Outline.h
@@ -15,7 +15,7 @@
 //
 // Copyright (C) 2005 Marco Pesenti Gritti 
 // Copyright (C) 2016, 2018 Albert Astals Cid 
-// Copyright (C) 2019 Oliver Sander 
+// Copyright (C) 2019, 2020 Oliver Sander 
 //
 // 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
diff --git a/qt5/src/poppler-annotation.cc b/qt5/src/poppler-annotation.cc
index 68b08a58..f44573dc 100644
--- a/qt5/src/poppler-annotation.cc
+++ b/qt5/src/poppler-annotation.cc
@@ -10,9 +10,9 @@
  * Copyright (C) 2018 Dileep Sankhla 
  * Copyright (C) 2018, 2019 Tobias Deiminger 
  * Copyright (C) 2018 Carlos Garcia Campos 
+ * Copyright (C) 2020 Oliver Sander 
  * Adapting code from
  *   Copyright (C) 2004 by Enrico Ros 
- * Copyright (C) 2020 Oliver Sander 
  *
  * 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
diff --git a/utils/JSInfo.h b/utils/JSInfo.h
index 646d623d..93c50055 100644
--- a/utils/JSInfo.h
+++ b/utils/JSInfo.h
@@ -7,6 +7,7 @@
 // Copyright (C) 2013 Adrian Johnson 
 // Copyright (C) 2020 Albert Astals Cid 
 // Copyright (C) 2018 Klarälvdalens Datakonsult AB, a KDAB Group company, 
. Work sponsored by the LiMux project of the city of Munich
+// Copyright (C) 2020 Oliver Sander 
 //
 // 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
diff --git a/utils/pdftocairo.cc b/utils/pdftocairo.cc
index e6e282a5..e522ea8f 100644
--- a/utils/pdftocairo.cc
+++ b/utils/pdftocairo.cc
@@ -32,7 +32,7 @@
 // Copyright (C) 2016 Jason Crain 
 // Copyright (C) 2018 Martin Packman 
 // Copyright (C) 2018 Adam Reichold 
-// Copyright (C) 2019 Oliver Sander 
+// Copyright (C) 2019, 2020 Oliver Sander 
 // Copyright (C) 2019 Kris Jurka 
 //
 // To see a description of the changes please see the Changelog file that
diff --git a/utils/pdftoppm.cc b/utils/pdftoppm.cc
index 7605276d..a079e680 100644
--- a/utils/pdftoppm.cc
+++ b/utils/pdftoppm.cc
@@ -29,7 +29,7 @@
 // Copyright (C) 2015 William Bader 
 // Copyright (C) 2018 Martin Packman 
 // Copyright (C) 2019 Yves-Gaël Chény 
-// Copyright (C) 2019 Oliver Sander 
+// Copyright (C) 2019, 2020 Oliver Sander 
 // Copyright (C) 2019 
 // Copyright (C) 2019 Kris Jurka 
 // Copyright (C) 2019 Sébastien Berthier 
___
poppler mailing list
poppler@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/poppler


[poppler] 3 commits - glib/poppler-form-field.cc poppler/Annot.cc poppler/Annot.h poppler/Catalog.cc poppler/Catalog.h poppler/Form.cc poppler/Form.h poppler/Link.cc poppler/Link.h poppler/Outline.cc

2020-02-26 Thread GitLab Mirror
 glib/poppler-form-field.cc|8 ++--
 poppler/Annot.cc  |   26 ++
 poppler/Annot.h   |8 ++--
 poppler/Catalog.cc|7 +--
 poppler/Catalog.h |2 -
 poppler/Form.cc   |2 -
 poppler/Form.h|2 -
 poppler/Link.cc   |   51 
 poppler/Link.h|   11 ++
 poppler/Outline.cc|4 --
 poppler/Outline.h |6 ++-
 poppler/Page.cc   |8 ++--
 poppler/Page.h|4 +-
 qt5/src/poppler-annotation.cc |5 +-
 qt5/src/poppler-form.cc   |   10 ++---
 qt5/src/poppler-page.cc   |   10 ++---
 utils/JSInfo.cc   |   76 --
 utils/JSInfo.h|4 +-
 18 files changed, 117 insertions(+), 127 deletions(-)

New commits:
commit 58dfc767964f133f9bf18b3c5eb641c090584967
Author: Oliver Sander 
Date:   Tue Nov 26 17:02:56 2019 +0100

Handle LinkAction objects by std::unique_ptrs

This clarifies the object ownership, and fixes various memory leaks.

diff --git a/glib/poppler-form-field.cc b/glib/poppler-form-field.cc
index 0507d4e8..b7d51e56 100644
--- a/glib/poppler-form-field.cc
+++ b/glib/poppler-form-field.cc
@@ -2,6 +2,7 @@
  *
  * Copyright (C) 2007 Carlos Garcia Campos 
  * Copyright (C) 2006 Julien Rebetez
+ * Copyright (C) 2020 Oliver Sander 
  *
  * 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
@@ -18,6 +19,8 @@
  * Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, 
USA.
  */
 
+#include 
+
 #include "poppler.h"
 #include "poppler-private.h"
 
@@ -215,7 +218,6 @@ poppler_form_field_get_additional_action (PopplerFormField  
 *field,
  PopplerAdditionalActionType type)
 {
   Annot::FormAdditionalActionsType form_action;
-  LinkAction *link_action;
   PopplerAction **action;
 
   switch (type)
@@ -244,11 +246,11 @@ poppler_form_field_get_additional_action 
(PopplerFormField   *field,
   if (*action)
 return *action;
 
-  link_action = field->widget->getAdditionalAction (form_action);
+  std::unique_ptr link_action = field->widget->getAdditionalAction 
(form_action);
   if (!link_action)
 return nullptr;
 
-  *action = _poppler_action_new (nullptr, link_action, nullptr);
+  *action = _poppler_action_new (nullptr, link_action.get(), nullptr);
 
   return *action;
 }
diff --git a/poppler/Annot.cc b/poppler/Annot.cc
index 27111711..87f57918 100644
--- a/poppler/Annot.cc
+++ b/poppler/Annot.cc
@@ -208,8 +208,7 @@ static std::unique_ptr 
parseDiffRectangle(Array *array, PDFRectang
   return nullptr;
 }
 
-static LinkAction* getAdditionalAction(Annot::AdditionalActionsType type, 
Object *additionalActions, PDFDoc *doc) {
-  LinkAction *linkAction = nullptr;
+static std::unique_ptr 
getAdditionalAction(Annot::AdditionalActionsType type, Object 
*additionalActions, PDFDoc *doc) {
   Object additionalActionsObject = additionalActions->fetch(doc->getXRef());
 
   if (additionalActionsObject.isDict()) {
@@ -226,10 +225,10 @@ static LinkAction* 
getAdditionalAction(Annot::AdditionalActionsType type, Object
 
 Object actionObject = additionalActionsObject.dictLookup(key);
 if (actionObject.isDict())
-  linkAction = LinkAction::parseAction(, 
doc->getCatalog()->getBaseURI());
+  return LinkAction::parseAction(, 
doc->getCatalog()->getBaseURI());
   }
 
-  return linkAction;
+  return nullptr;
 }
 
 static const char *getFormAdditionalActionKey(Annot::FormAdditionalActionsType 
type)
@@ -2534,12 +2533,12 @@ void AnnotLink::initialize(PDFDoc *docA, Dict *dict) {
   // look for destination
   obj1 = dict->lookup("Dest");
   if (!obj1.isNull()) {
-action.reset(LinkAction::parseDest());
+action = LinkAction::parseDest();
   // look for action
   } else {
 obj1 = dict->lookup("A");
 if (obj1.isDict()) {
-  action.reset(LinkAction::parseAction(, 
doc->getCatalog()->getBaseURI()));
+  action = LinkAction::parseAction(, doc->getCatalog()->getBaseURI());
 }
   }
 
@@ -3700,7 +3699,7 @@ void AnnotWidget::initialize(PDFDoc *docA, Dict *dict) {
 
   obj1 = dict->lookup("A");
   if (obj1.isDict()) {
-action.reset(LinkAction::parseAction(, 
doc->getCatalog()->getBaseURI()));
+action = LinkAction::parseAction(, doc->getCatalog()->getBaseURI());
   }
 
   additionalActions = dict->lookupNF("AA").copy();
@@ -3720,14 +3719,13 @@ void AnnotWidget::initialize(PDFDoc *docA, Dict *dict) {
   updatedAppearanceStream = Ref::INVALID();
 }
 
-LinkAction* AnnotWidget::getAdditionalAction(AdditionalActionsType 
additionalActionType)
+std::unique_ptr 
AnnotWidget::getAdditionalAction(AdditionalActionsType additionalActionType)
 {
   return ::getAdditionalAction(additionalActionType, , doc);
 }
 
-LinkAction*