[poppler] poppler/Form.h poppler/Outline.cc poppler/Outline.h qt5/src utils/JSInfo.h utils/pdftocairo.cc utils/pdftoppm.cc
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
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*