[poppler] 3 commits - CMakeLists.txt cmake/modules glib/poppler-document.cc poppler/Annot.cc poppler/Annot.h poppler/CachedFile.cc poppler/CachedFile.h poppler/CairoOutputDev.cc poppler/JBIG2Stream.cc poppler/Link.cc poppler/Link.h poppler/PDFDocBuilder.cc poppler/PDFDocBuilder.h poppler/SplashOutputDev.cc poppler/Stream.cc poppler/Stream.h poppler/TextOutputDev.cc poppler/XRef.cc poppler/XRef.h qt5/src qt6/src qt6/tests splash/SplashPattern.cc splash/SplashPattern.h utils/pdftohtml.cc
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Thu Oct 29 13:50:41 UTC 2020
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 | 18 ++++++++++--------
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 ++++-
qt6/tests/stress-threads-qt6.cpp | 7 +++----
splash/SplashPattern.cc | 7 +++++++
splash/SplashPattern.h | 2 ++
utils/pdftohtml.cc | 7 +++++--
35 files changed, 188 insertions(+), 44 deletions(-)
New commits:
commit 148e5424e6f0deb7680fdc9b25736888089b6b41
Author: Albert Astals Cid <aacid at kde.org>
Date: Thu Oct 29 13:47:13 2020 +0100
clang: Warn about weak-vtables
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7487875a..d0361f34 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -405,6 +405,7 @@ set(poppler_SRCS
poppler/PageTransition.cc
poppler/Parser.cc
poppler/PDFDoc.cc
+ poppler/PDFDocBuilder.cc
poppler/PDFDocEncoding.cc
poppler/PDFDocFactory.cc
poppler/ProfileData.cc
diff --git a/cmake/modules/PopplerMacros.cmake b/cmake/modules/PopplerMacros.cmake
index a9d20948..6e5f0050 100644
--- a/cmake/modules/PopplerMacros.cmake
+++ b/cmake/modules/PopplerMacros.cmake
@@ -159,6 +159,7 @@ if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
set(_warn "${_warn} -Wundef")
set(_warn "${_warn} -Wzero-as-null-pointer-constant")
set(_warn "${_warn} -Wshadow")
+ set(_warn "${_warn} -Wweak-vtables")
# set extra warnings
set(_warnx "${_warnx} -Wconversion")
diff --git a/glib/poppler-document.cc b/glib/poppler-document.cc
index e91fe342..d7e650be 100644
--- a/glib/poppler-document.cc
+++ b/glib/poppler-document.cc
@@ -5,6 +5,7 @@
* Copyright (C) 2018-2019 Marek Kasik <mkasik at redhat.com>
* Copyright (C) 2019 Masamichi Hosoda <trueroad at trueroad.jp>
* Copyright (C) 2019, Oliver Sander <oliver.sander at tu-dresden.de>
+ * Copyright (C) 2020 Albert Astals Cid <aacid at kde.org>
*
* 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
@@ -251,8 +252,11 @@ class BytesStream : public MemStream
public:
BytesStream(GBytes *bytes, Object &&dictA) : MemStream(static_cast<const char *>(g_bytes_get_data(bytes, nullptr)), 0, g_bytes_get_size(bytes), std::move(dictA)), m_bytes { g_bytes_ref(bytes), &g_bytes_unref } { }
+ ~BytesStream() override;
};
+BytesStream::~BytesStream() = default;
+
/**
* poppler_document_new_from_bytes:
* @bytes: a #GBytes
diff --git a/poppler/Annot.cc b/poppler/Annot.cc
index 11231d91..b6e4d32b 100644
--- a/poppler/Annot.cc
+++ b/poppler/Annot.cc
@@ -344,12 +344,16 @@ void AnnotPath::parsePathArray(Array *array)
AnnotCalloutLine::AnnotCalloutLine(double x1, double y1, double x2, double y2) : coord1(x1, y1), coord2(x2, y2) { }
+AnnotCalloutLine::~AnnotCalloutLine() = default;
+
//------------------------------------------------------------------------
// AnnotCalloutMultiLine
//------------------------------------------------------------------------
AnnotCalloutMultiLine::AnnotCalloutMultiLine(double x1, double y1, double x2, double y2, double x3, double y3) : AnnotCalloutLine(x1, y1, x2, y2), coord3(x3, y3) { }
+AnnotCalloutMultiLine::~AnnotCalloutMultiLine() = default;
+
//------------------------------------------------------------------------
// AnnotQuadrilateral
//------------------------------------------------------------------------
diff --git a/poppler/Annot.h b/poppler/Annot.h
index efa3a658..0d7bf174 100644
--- a/poppler/Annot.h
+++ b/poppler/Annot.h
@@ -140,7 +140,7 @@ class AnnotCalloutLine
{
public:
AnnotCalloutLine(double x1, double y1, double x2, double y2);
- virtual ~AnnotCalloutLine() { }
+ virtual ~AnnotCalloutLine();
AnnotCalloutLine(const AnnotCalloutLine &) = delete;
AnnotCalloutLine &operator=(const AnnotCalloutLine &other) = delete;
@@ -162,6 +162,7 @@ class AnnotCalloutMultiLine : public AnnotCalloutLine
{
public:
AnnotCalloutMultiLine(double x1, double y1, double x2, double y2, double x3, double y3);
+ ~AnnotCalloutMultiLine() override;
double getX3() const { return coord3.getX(); }
double getY3() const { return coord3.getY(); }
diff --git a/poppler/CachedFile.cc b/poppler/CachedFile.cc
index 4207d9d2..f8c511a2 100644
--- a/poppler/CachedFile.cc
+++ b/poppler/CachedFile.cc
@@ -6,7 +6,7 @@
//
// Copyright 2009 Stefan Thomas <thomas at eload24.com>
// Copyright 2010, 2011 Hib Eris <hib at hiberis.nl>
-// Copyright 2010, 2018, 2019 Albert Astals Cid <aacid at kde.org>
+// Copyright 2010, 2018-2020 Albert Astals Cid <aacid at kde.org>
// Copyright (C) 2013 Julien Nabet <serval2412 at yahoo.fr>
//
//========================================================================
@@ -260,4 +260,6 @@ size_t CachedFileWriter::write(const char *ptr, size_t size)
return written;
}
+CachedFileLoader::~CachedFileLoader() = default;
+
//------------------------------------------------------------------------
diff --git a/poppler/CachedFile.h b/poppler/CachedFile.h
index 57829bbe..bc73b59a 100644
--- a/poppler/CachedFile.h
+++ b/poppler/CachedFile.h
@@ -8,7 +8,7 @@
//
// Copyright 2009 Stefan Thomas <thomas at eload24.com>
// Copyright 2010 Hib Eris <hib at hiberis.nl>
-// Copyright 2010, 2018, 2019 Albert Astals Cid <aacid at kde.org>
+// Copyright 2010, 2018-2020 Albert Astals Cid <aacid at kde.org>
//
//========================================================================
@@ -128,7 +128,7 @@ class CachedFileLoader
public:
CachedFileLoader() = default;
- virtual ~CachedFileLoader() {};
+ virtual ~CachedFileLoader();
CachedFileLoader(const CachedFileLoader &) = delete;
CachedFileLoader &operator=(const CachedFileLoader &) = delete;
diff --git a/poppler/CairoOutputDev.cc b/poppler/CairoOutputDev.cc
index 996e2ae7..c3e29f38 100644
--- a/poppler/CairoOutputDev.cc
+++ b/poppler/CairoOutputDev.cc
@@ -16,7 +16,7 @@
//
// Copyright (C) 2005-2008 Jeff Muizelaar <jeff at infidigm.net>
// Copyright (C) 2005, 2006 Kristian Høgsberg <krh at redhat.com>
-// Copyright (C) 2005, 2009, 2012, 2017-2019 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2005, 2009, 2012, 2017-2020 Albert Astals Cid <aacid at kde.org>
// Copyright (C) 2005 Nickolay V. Shmyrev <nshmyrev at yandex.ru>
// Copyright (C) 2006-2011, 2013, 2014, 2017, 2018 Carlos Garcia Campos <carlosgc at gnome.org>
// Copyright (C) 2008 Carl Worth <cworth at cworth.org>
@@ -2993,6 +2993,7 @@ private:
bool imageError;
public:
+ ~RescaleDrawImage() override;
cairo_surface_t *getSourceImage(Stream *str, int widthA, int height, int scaledWidth, int scaledHeight, bool printing, GfxImageColorMap *colorMapA, const int *maskColorsA)
{
cairo_surface_t *image = nullptr;
@@ -3150,6 +3151,8 @@ public:
}
};
+RescaleDrawImage::~RescaleDrawImage() = default;
+
void CairoOutputDev::drawImage(GfxState *state, Object *ref, Stream *str, int widthA, int heightA, GfxImageColorMap *colorMap, bool interpolate, const int *maskColors, bool inlineImg)
{
cairo_surface_t *image;
diff --git a/poppler/JBIG2Stream.cc b/poppler/JBIG2Stream.cc
index 67251739..60fbea49 100644
--- a/poppler/JBIG2Stream.cc
+++ b/poppler/JBIG2Stream.cc
@@ -15,7 +15,7 @@
//
// Copyright (C) 2006 Raj Kumar <rkumar at archive.org>
// Copyright (C) 2006 Paul Walmsley <paul at booyaka.com>
-// Copyright (C) 2006-2010, 2012, 2014-2019 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2006-2010, 2012, 2014-2020 Albert Astals Cid <aacid at kde.org>
// Copyright (C) 2009 David Benjamin <davidben at mit.edu>
// Copyright (C) 2011 Edward Jiang <ejiang at google.com>
// Copyright (C) 2012 William Bader <williambader at hotmail.com>
@@ -531,7 +531,7 @@ class JBIG2Segment
{
public:
JBIG2Segment(unsigned int segNumA) { segNum = segNumA; }
- virtual ~JBIG2Segment() { }
+ virtual ~JBIG2Segment();
JBIG2Segment(const JBIG2Segment &) = delete;
JBIG2Segment &operator=(const JBIG2Segment &) = delete;
void setSegNum(unsigned int segNumA) { segNum = segNumA; }
@@ -542,6 +542,8 @@ private:
unsigned int segNum;
};
+JBIG2Segment::~JBIG2Segment() = default;
+
//------------------------------------------------------------------------
// JBIG2Bitmap
//------------------------------------------------------------------------
diff --git a/poppler/Link.cc b/poppler/Link.cc
index e5249345..a4f05f3d 100644
--- a/poppler/Link.cc
+++ b/poppler/Link.cc
@@ -526,6 +526,8 @@ LinkLaunch::LinkLaunch(const Object *actionObj)
}
}
+LinkLaunch::~LinkLaunch() = default;
+
//------------------------------------------------------------------------
// LinkURI
//------------------------------------------------------------------------
diff --git a/poppler/Link.h b/poppler/Link.h
index dc2c5d9b..c8afbdc1 100644
--- a/poppler/Link.h
+++ b/poppler/Link.h
@@ -223,6 +223,7 @@ class LinkLaunch : public LinkAction
public:
// Build a LinkLaunch from an action dictionary.
LinkLaunch(const Object *actionObj);
+ ~LinkLaunch() override;
// Was the LinkLaunch created successfully?
bool isOk() const override { return fileName != nullptr; }
diff --git a/poppler/PDFDocBuilder.cc b/poppler/PDFDocBuilder.cc
new file mode 100644
index 00000000..f6dac952
--- /dev/null
+++ b/poppler/PDFDocBuilder.cc
@@ -0,0 +1,13 @@
+//========================================================================
+//
+// PDFDocBuilder.cc
+//
+// This file is licensed under the GPLv2 or later
+//
+// Copyright 2020 Albert Astals Cid <aacid at kde.org>
+//
+//========================================================================
+
+#include "PDFDocBuilder.h"
+
+PDFDocBuilder::~PDFDocBuilder() = default;
diff --git a/poppler/PDFDocBuilder.h b/poppler/PDFDocBuilder.h
index 2b66dc11..a0c19fc1 100644
--- a/poppler/PDFDocBuilder.h
+++ b/poppler/PDFDocBuilder.h
@@ -5,7 +5,7 @@
// This file is licensed under the GPLv2 or later
//
// Copyright 2010 Hib Eris <hib at hiberis.nl>
-// Copyright 2010, 2018 Albert Astals Cid <aacid at kde.org>
+// Copyright 2010, 2018, 2020 Albert Astals Cid <aacid at kde.org>
//
//========================================================================
@@ -27,7 +27,7 @@ class PDFDocBuilder
public:
PDFDocBuilder() = default;
- virtual ~PDFDocBuilder() = default;
+ virtual ~PDFDocBuilder();
PDFDocBuilder(const PDFDocBuilder &) = delete;
PDFDocBuilder &operator=(const PDFDocBuilder &) = delete;
diff --git a/poppler/SplashOutputDev.cc b/poppler/SplashOutputDev.cc
index 52e0b04b..b20d01ec 100644
--- a/poppler/SplashOutputDev.cc
+++ b/poppler/SplashOutputDev.cc
@@ -1070,7 +1070,7 @@ class SplashOutFontFileID : public SplashFontFileID
public:
SplashOutFontFileID(const Ref *rA) { r = *rA; }
- ~SplashOutFontFileID() override { }
+ ~SplashOutFontFileID() override;
bool matches(SplashFontFileID *id) override { return ((SplashOutFontFileID *)id)->r == r; }
@@ -1078,6 +1078,8 @@ private:
Ref r;
};
+SplashOutFontFileID::~SplashOutFontFileID() = default;
+
//------------------------------------------------------------------------
// T3FontCache
//------------------------------------------------------------------------
diff --git a/poppler/Stream.cc b/poppler/Stream.cc
index c36ce113..4971e2ed 100644
--- a/poppler/Stream.cc
+++ b/poppler/Stream.cc
@@ -195,6 +195,7 @@ class BaseStreamStream : public Stream
{
public:
BaseStreamStream(Stream *strA) : str(strA) { }
+ ~BaseStreamStream() override;
StreamKind getKind() const override { return str->getBaseStream()->getKind(); }
void reset() override { str->getBaseStream()->reset(); }
@@ -214,6 +215,8 @@ private:
std::unique_ptr<Stream> str;
};
+BaseStreamStream::~BaseStreamStream() = default;
+
Stream *Stream::makeFilter(const char *name, Stream *str, Object *params, int recursion, Dict *dict)
{
int pred; // parameters
@@ -1057,6 +1060,13 @@ void CachedFileStream::moveStart(Goffset delta)
bufPos = start;
}
+MemStream::~MemStream() = default;
+
+AutoFreeMemStream::~AutoFreeMemStream()
+{
+ gfree(buf);
+}
+
//------------------------------------------------------------------------
// EmbedStream
//------------------------------------------------------------------------
diff --git a/poppler/Stream.h b/poppler/Stream.h
index 7d51db60..c6b363f6 100644
--- a/poppler/Stream.h
+++ b/poppler/Stream.h
@@ -719,14 +719,14 @@ class MemStream : public BaseMemStream<const char>
{
public:
MemStream(const char *bufA, Goffset startA, Goffset lengthA, Object &&dictA) : BaseMemStream(bufA, startA, lengthA, std::move(dictA)) { }
+ ~MemStream() override;
};
class AutoFreeMemStream : public BaseMemStream<char>
{
public:
AutoFreeMemStream(char *bufA, Goffset startA, Goffset lengthA, Object &&dictA) : BaseMemStream(bufA, startA, lengthA, std::move(dictA)) { }
-
- ~AutoFreeMemStream() override { gfree(buf); }
+ ~AutoFreeMemStream() override;
};
//------------------------------------------------------------------------
diff --git a/poppler/TextOutputDev.cc b/poppler/TextOutputDev.cc
index 45d4aaaf..eb37824e 100644
--- a/poppler/TextOutputDev.cc
+++ b/poppler/TextOutputDev.cc
@@ -4270,7 +4270,7 @@ class TextSelectionVisitor
{
public:
TextSelectionVisitor(TextPage *page);
- virtual ~TextSelectionVisitor() { }
+ virtual ~TextSelectionVisitor();
TextSelectionVisitor(const TextSelectionVisitor &) = delete;
TextSelectionVisitor &operator=(const TextSelectionVisitor &) = delete;
virtual void visitBlock(TextBlock *block, TextLine *begin, TextLine *end, const PDFRectangle *selection) = 0;
@@ -4283,6 +4283,8 @@ protected:
TextSelectionVisitor::TextSelectionVisitor(TextPage *p) : page(p) { }
+TextSelectionVisitor::~TextSelectionVisitor() = default;
+
class TextSelectionDumper : public TextSelectionVisitor
{
public:
diff --git a/poppler/XRef.cc b/poppler/XRef.cc
index bc2b09b6..3747c6e7 100644
--- a/poppler/XRef.cc
+++ b/poppler/XRef.cc
@@ -1743,3 +1743,5 @@ void XRef::markUnencrypted()
e->setFlag(XRefEntry::Unencrypted, true);
}
}
+
+XRef::XRefWriter::~XRefWriter() = default;
diff --git a/poppler/XRef.h b/poppler/XRef.h
index 665b208e..7418458b 100644
--- a/poppler/XRef.h
+++ b/poppler/XRef.h
@@ -260,7 +260,7 @@ private:
XRefWriter() = default;
virtual void startSection(int first, int count) = 0;
virtual void writeEntry(Goffset offset, int gen, XRefEntryType type) = 0;
- virtual ~XRefWriter() {};
+ virtual ~XRefWriter();
XRefWriter(const XRefWriter &) = delete;
XRefWriter &operator=(const XRefWriter &other) = delete;
diff --git a/qt5/src/poppler-annotation.cc b/qt5/src/poppler-annotation.cc
index afc6c879..f30e4d55 100644
--- a/qt5/src/poppler-annotation.cc
+++ b/qt5/src/poppler-annotation.cc
@@ -1,5 +1,5 @@
/* poppler-annotation.cc: qt interface to poppler
- * Copyright (C) 2006, 2009, 2012-2015, 2018, 2019 Albert Astals Cid <aacid at kde.org>
+ * Copyright (C) 2006, 2009, 2012-2015, 2018-2020 Albert Astals Cid <aacid at kde.org>
* Copyright (C) 2006, 2008, 2010 Pino Toscano <pino at kde.org>
* Copyright (C) 2012, Guillermo A. Amaral B. <gamaral at kde.org>
* Copyright (C) 2012-2014 Fabio D'Urso <fabiodurso at hotmail.it>
@@ -4517,11 +4517,7 @@ class RichMediaAnnotationPrivate : public AnnotationPrivate
public:
RichMediaAnnotationPrivate() : settings(nullptr), content(nullptr) { }
- ~RichMediaAnnotationPrivate() override
- {
- delete settings;
- delete content;
- }
+ ~RichMediaAnnotationPrivate() override;
Annotation *makeAlias() override { return new RichMediaAnnotation(*this); }
@@ -4537,6 +4533,12 @@ public:
RichMediaAnnotation::Content *content;
};
+RichMediaAnnotationPrivate::~RichMediaAnnotationPrivate()
+{
+ delete settings;
+ delete content;
+}
+
RichMediaAnnotation::RichMediaAnnotation() : Annotation(*new RichMediaAnnotationPrivate()) { }
RichMediaAnnotation::RichMediaAnnotation(RichMediaAnnotationPrivate &dd) : Annotation(dd) { }
diff --git a/qt5/src/poppler-link-private.h b/qt5/src/poppler-link-private.h
index 603ab36b..6a868722 100644
--- a/qt5/src/poppler-link-private.h
+++ b/qt5/src/poppler-link-private.h
@@ -1,5 +1,5 @@
/* poppler-link-private.h: qt interface to poppler
- * Copyright (C) 2016, 2018, Albert Astals Cid <aacid at kde.org>
+ * Copyright (C) 2016, 2018, 2020 Albert Astals Cid <aacid at kde.org>
* Copyright (C) 2018 Intevation GmbH <intevation at intevation.de>
* Copyright (C) 2020 Oliver Sander <oliver.sander at tu-dresden.de>
*
@@ -36,7 +36,7 @@ class LinkPrivate
public:
LinkPrivate(const QRectF &area) : linkArea(area) { }
- virtual ~LinkPrivate() { qDeleteAll(nextLinks); }
+ virtual ~LinkPrivate();
static LinkPrivate *get(Link *link) { return link->d_ptr; }
@@ -51,6 +51,7 @@ class LinkOCGStatePrivate : public LinkPrivate
{
public:
LinkOCGStatePrivate(const QRectF &area, const std::vector<::LinkOCGState::StateList> &sList, bool pRB) : LinkPrivate(area), stateList(sList), preserveRB(pRB) { }
+ ~LinkOCGStatePrivate() override;
std::vector<::LinkOCGState::StateList> stateList;
bool preserveRB;
@@ -60,6 +61,7 @@ class LinkHidePrivate : public LinkPrivate
{
public:
LinkHidePrivate(const QRectF &area, const QString &tName, bool show) : LinkPrivate(area), targetName(tName), isShow(show) { }
+ ~LinkHidePrivate() override;
QString targetName;
bool isShow;
diff --git a/qt5/src/poppler-link.cc b/qt5/src/poppler-link.cc
index bd5c215c..a2e0275d 100644
--- a/qt5/src/poppler-link.cc
+++ b/qt5/src/poppler-link.cc
@@ -1,5 +1,5 @@
/* poppler-link.cc: qt interface to poppler
- * Copyright (C) 2006-2007, 2013, 2016-2019, Albert Astals Cid
+ * Copyright (C) 2006-2007, 2013, 2016-2020, Albert Astals Cid
* Copyright (C) 2007-2008, Pino Toscano <pino at kde.org>
* Copyright (C) 2010 Hib Eris <hib at hiberis.nl>
* Copyright (C) 2012, Tobias Koenig <tokoe at kdab.com>
@@ -69,47 +69,64 @@ LinkDestinationPrivate::LinkDestinationPrivate()
changeZoom = false;
}
+LinkPrivate::~LinkPrivate()
+{
+ qDeleteAll(nextLinks);
+}
+
+LinkOCGStatePrivate::~LinkOCGStatePrivate() = default;
+
+LinkHidePrivate::~LinkHidePrivate() = default;
+
class LinkGotoPrivate : public LinkPrivate
{
public:
LinkGotoPrivate(const QRectF &area, const LinkDestination &dest);
+ ~LinkGotoPrivate() override;
QString extFileName;
LinkDestination destination;
};
LinkGotoPrivate::LinkGotoPrivate(const QRectF &area, const LinkDestination &dest) : LinkPrivate(area), destination(dest) { }
+LinkGotoPrivate::~LinkGotoPrivate() = default;
class LinkExecutePrivate : public LinkPrivate
{
public:
LinkExecutePrivate(const QRectF &area);
+ ~LinkExecutePrivate() override;
QString fileName;
QString parameters;
};
LinkExecutePrivate::LinkExecutePrivate(const QRectF &area) : LinkPrivate(area) { }
+LinkExecutePrivate::~LinkExecutePrivate() = default;
class LinkBrowsePrivate : public LinkPrivate
{
public:
LinkBrowsePrivate(const QRectF &area);
+ ~LinkBrowsePrivate() override;
QString url;
};
LinkBrowsePrivate::LinkBrowsePrivate(const QRectF &area) : LinkPrivate(area) { }
+LinkBrowsePrivate::~LinkBrowsePrivate() = default;
class LinkActionPrivate : public LinkPrivate
{
public:
LinkActionPrivate(const QRectF &area);
+ ~LinkActionPrivate() override;
LinkAction::ActionType type;
};
LinkActionPrivate::LinkActionPrivate(const QRectF &area) : LinkPrivate(area) { }
+LinkActionPrivate::~LinkActionPrivate() = default;
class LinkSoundPrivate : public LinkPrivate
{
@@ -174,16 +191,19 @@ class LinkJavaScriptPrivate : public LinkPrivate
{
public:
LinkJavaScriptPrivate(const QRectF &area);
+ ~LinkJavaScriptPrivate() override;
QString js;
};
LinkJavaScriptPrivate::LinkJavaScriptPrivate(const QRectF &area) : LinkPrivate(area) { }
+LinkJavaScriptPrivate::~LinkJavaScriptPrivate() = default;
class LinkMoviePrivate : public LinkPrivate
{
public:
LinkMoviePrivate(const QRectF &area, LinkMovie::Operation operation, const QString &title, const Ref reference);
+ ~LinkMoviePrivate() override;
LinkMovie::Operation operation;
QString annotationTitle;
@@ -192,6 +212,8 @@ public:
LinkMoviePrivate::LinkMoviePrivate(const QRectF &area, LinkMovie::Operation _operation, const QString &title, const Ref reference) : LinkPrivate(area), operation(_operation), annotationTitle(title), annotationReference(reference) { }
+LinkMoviePrivate::~LinkMoviePrivate() = default;
+
static void cvtUserToDev(::Page *page, double xu, double yu, int *xd, int *yd)
{
double ctm[6];
diff --git a/qt5/src/poppler-page.cc b/qt5/src/poppler-page.cc
index 1670bc68..03aebab5 100644
--- a/qt5/src/poppler-page.cc
+++ b/qt5/src/poppler-page.cc
@@ -113,6 +113,8 @@ public:
{
}
+ ~Qt5SplashOutputDev() override;
+
void dump() override
{
if (partialUpdateCallback && shouldDoPartialUpdateCallback && shouldDoPartialUpdateCallback(payload)) {
@@ -164,10 +166,13 @@ private:
bool ignorePaperColor;
};
+Qt5SplashOutputDev::~Qt5SplashOutputDev() = default;
+
class QImageDumpingQPainterOutputDev : public QPainterOutputDev, public OutputDevCallbackHelper
{
public:
QImageDumpingQPainterOutputDev(QPainter *painter, QImage *i) : QPainterOutputDev(painter), image(i) { }
+ ~QImageDumpingQPainterOutputDev() override;
void dump() override
{
@@ -180,6 +185,8 @@ private:
QImage *image;
};
+QImageDumpingQPainterOutputDev::~QImageDumpingQPainterOutputDev() = default;
+
Link *PageData::convertLinkActionToLink(::LinkAction *a, const QRectF &linkArea)
{
return convertLinkActionToLink(a, parentDoc, linkArea);
diff --git a/qt5/src/poppler-pdf-converter.cc b/qt5/src/poppler-pdf-converter.cc
index e15d38f2..5b9c309b 100644
--- a/qt5/src/poppler-pdf-converter.cc
+++ b/qt5/src/poppler-pdf-converter.cc
@@ -1,6 +1,6 @@
/* poppler-pdf-converter.cc: qt interface to poppler
* Copyright (C) 2008, Pino Toscano <pino at kde.org>
- * Copyright (C) 2008, 2009, Albert Astals Cid <aacid at kde.org>
+ * Copyright (C) 2008, 2009, 2020, Albert Astals Cid <aacid at kde.org>
*
* 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,12 +33,15 @@ class PDFConverterPrivate : public BaseConverterPrivate
{
public:
PDFConverterPrivate();
+ ~PDFConverterPrivate() override;
PDFConverter::PDFOptions opts;
};
PDFConverterPrivate::PDFConverterPrivate() : BaseConverterPrivate(), opts(nullptr) { }
+PDFConverterPrivate::~PDFConverterPrivate() = default;
+
PDFConverter::PDFConverter(DocumentData *document) : BaseConverter(*new PDFConverterPrivate())
{
Q_D(PDFConverter);
diff --git a/qt5/src/poppler-ps-converter.cc b/qt5/src/poppler-ps-converter.cc
index 4c2f9aec..150c8650 100644
--- a/qt5/src/poppler-ps-converter.cc
+++ b/qt5/src/poppler-ps-converter.cc
@@ -1,5 +1,5 @@
/* poppler-ps-converter.cc: qt interface to poppler
- * Copyright (C) 2007, 2009, 2010, 2015, Albert Astals Cid <aacid at kde.org>
+ * Copyright (C) 2007, 2009, 2010, 2015, 2020, Albert Astals Cid <aacid at kde.org>
* Copyright (C) 2008, Pino Toscano <pino at kde.org>
* Copyright (C) 2010 Hib Eris <hib at hiberis.nl>
* Copyright (C) 2011 Glad Deschrijver <glad.deschrijver at gmail.com>
@@ -41,6 +41,7 @@ class PSConverterPrivate : public BaseConverterPrivate
{
public:
PSConverterPrivate();
+ ~PSConverterPrivate() override;
QList<int> pageList;
QString title;
@@ -75,6 +76,8 @@ PSConverterPrivate::PSConverterPrivate()
{
}
+PSConverterPrivate::~PSConverterPrivate() = default;
+
PSConverter::PSConverter(DocumentData *document) : BaseConverter(*new PSConverterPrivate())
{
Q_D(PSConverter);
diff --git a/qt6/src/poppler-annotation.cc b/qt6/src/poppler-annotation.cc
index 879c8900..9724e2df 100644
--- a/qt6/src/poppler-annotation.cc
+++ b/qt6/src/poppler-annotation.cc
@@ -3450,11 +3450,7 @@ class RichMediaAnnotationPrivate : public AnnotationPrivate
public:
RichMediaAnnotationPrivate() : settings(nullptr), content(nullptr) { }
- ~RichMediaAnnotationPrivate() override
- {
- delete settings;
- delete content;
- }
+ ~RichMediaAnnotationPrivate() override;
Annotation *makeAlias() override { return new RichMediaAnnotation(*this); }
@@ -3470,6 +3466,12 @@ public:
RichMediaAnnotation::Content *content;
};
+RichMediaAnnotationPrivate::~RichMediaAnnotationPrivate()
+{
+ delete settings;
+ delete content;
+}
+
RichMediaAnnotation::RichMediaAnnotation() : Annotation(*new RichMediaAnnotationPrivate()) { }
RichMediaAnnotation::RichMediaAnnotation(RichMediaAnnotationPrivate &dd) : Annotation(dd) { }
diff --git a/qt6/src/poppler-link-private.h b/qt6/src/poppler-link-private.h
index 603ab36b..6a868722 100644
--- a/qt6/src/poppler-link-private.h
+++ b/qt6/src/poppler-link-private.h
@@ -1,5 +1,5 @@
/* poppler-link-private.h: qt interface to poppler
- * Copyright (C) 2016, 2018, Albert Astals Cid <aacid at kde.org>
+ * Copyright (C) 2016, 2018, 2020 Albert Astals Cid <aacid at kde.org>
* Copyright (C) 2018 Intevation GmbH <intevation at intevation.de>
* Copyright (C) 2020 Oliver Sander <oliver.sander at tu-dresden.de>
*
@@ -36,7 +36,7 @@ class LinkPrivate
public:
LinkPrivate(const QRectF &area) : linkArea(area) { }
- virtual ~LinkPrivate() { qDeleteAll(nextLinks); }
+ virtual ~LinkPrivate();
static LinkPrivate *get(Link *link) { return link->d_ptr; }
@@ -51,6 +51,7 @@ class LinkOCGStatePrivate : public LinkPrivate
{
public:
LinkOCGStatePrivate(const QRectF &area, const std::vector<::LinkOCGState::StateList> &sList, bool pRB) : LinkPrivate(area), stateList(sList), preserveRB(pRB) { }
+ ~LinkOCGStatePrivate() override;
std::vector<::LinkOCGState::StateList> stateList;
bool preserveRB;
@@ -60,6 +61,7 @@ class LinkHidePrivate : public LinkPrivate
{
public:
LinkHidePrivate(const QRectF &area, const QString &tName, bool show) : LinkPrivate(area), targetName(tName), isShow(show) { }
+ ~LinkHidePrivate() override;
QString targetName;
bool isShow;
diff --git a/qt6/src/poppler-link.cc b/qt6/src/poppler-link.cc
index cd9f9bb3..7dd82b42 100644
--- a/qt6/src/poppler-link.cc
+++ b/qt6/src/poppler-link.cc
@@ -1,5 +1,5 @@
/* poppler-link.cc: qt interface to poppler
- * Copyright (C) 2006-2007, 2013, 2016-2019, Albert Astals Cid
+ * Copyright (C) 2006-2007, 2013, 2016-2020, Albert Astals Cid
* Copyright (C) 2007-2008, Pino Toscano <pino at kde.org>
* Copyright (C) 2010 Hib Eris <hib at hiberis.nl>
* Copyright (C) 2012, Tobias Koenig <tokoe at kdab.com>
@@ -69,10 +69,20 @@ LinkDestinationPrivate::LinkDestinationPrivate()
changeZoom = false;
}
+LinkPrivate::~LinkPrivate()
+{
+ qDeleteAll(nextLinks);
+}
+
+LinkOCGStatePrivate::~LinkOCGStatePrivate() = default;
+
+LinkHidePrivate::~LinkHidePrivate() = default;
+
class LinkGotoPrivate : public LinkPrivate
{
public:
LinkGotoPrivate(const QRectF &area, const LinkDestination &dest);
+ ~LinkGotoPrivate() override;
QString extFileName;
LinkDestination destination;
@@ -80,10 +90,13 @@ public:
LinkGotoPrivate::LinkGotoPrivate(const QRectF &area, const LinkDestination &dest) : LinkPrivate(area), destination(dest) { }
+LinkGotoPrivate::~LinkGotoPrivate() = default;
+
class LinkExecutePrivate : public LinkPrivate
{
public:
LinkExecutePrivate(const QRectF &area);
+ ~LinkExecutePrivate() override;
QString fileName;
QString parameters;
@@ -91,26 +104,34 @@ public:
LinkExecutePrivate::LinkExecutePrivate(const QRectF &area) : LinkPrivate(area) { }
+LinkExecutePrivate::~LinkExecutePrivate() = default;
+
class LinkBrowsePrivate : public LinkPrivate
{
public:
LinkBrowsePrivate(const QRectF &area);
+ ~LinkBrowsePrivate() override;
QString url;
};
LinkBrowsePrivate::LinkBrowsePrivate(const QRectF &area) : LinkPrivate(area) { }
+LinkBrowsePrivate::~LinkBrowsePrivate() = default;
+
class LinkActionPrivate : public LinkPrivate
{
public:
LinkActionPrivate(const QRectF &area);
+ ~LinkActionPrivate() override;
LinkAction::ActionType type;
};
LinkActionPrivate::LinkActionPrivate(const QRectF &area) : LinkPrivate(area) { }
+LinkActionPrivate::~LinkActionPrivate() = default;
+
class LinkSoundPrivate : public LinkPrivate
{
public:
@@ -174,16 +195,20 @@ class LinkJavaScriptPrivate : public LinkPrivate
{
public:
LinkJavaScriptPrivate(const QRectF &area);
+ ~LinkJavaScriptPrivate() override;
QString js;
};
LinkJavaScriptPrivate::LinkJavaScriptPrivate(const QRectF &area) : LinkPrivate(area) { }
+LinkJavaScriptPrivate::~LinkJavaScriptPrivate() = default;
+
class LinkMoviePrivate : public LinkPrivate
{
public:
LinkMoviePrivate(const QRectF &area, LinkMovie::Operation operation, const QString &title, const Ref reference);
+ ~LinkMoviePrivate() override;
LinkMovie::Operation operation;
QString annotationTitle;
@@ -192,6 +217,8 @@ public:
LinkMoviePrivate::LinkMoviePrivate(const QRectF &area, LinkMovie::Operation _operation, const QString &title, const Ref reference) : LinkPrivate(area), operation(_operation), annotationTitle(title), annotationReference(reference) { }
+LinkMoviePrivate::~LinkMoviePrivate() = default;
+
static void cvtUserToDev(::Page *page, double xu, double yu, int *xd, int *yd)
{
double ctm[6];
diff --git a/qt6/src/poppler-page.cc b/qt6/src/poppler-page.cc
index 7153c514..f138f520 100644
--- a/qt6/src/poppler-page.cc
+++ b/qt6/src/poppler-page.cc
@@ -113,6 +113,8 @@ public:
{
}
+ ~Qt6SplashOutputDev() override;
+
void dump() override
{
if (partialUpdateCallback && shouldDoPartialUpdateCallback && shouldDoPartialUpdateCallback(payload)) {
@@ -164,10 +166,13 @@ private:
bool ignorePaperColor;
};
+Qt6SplashOutputDev::~Qt6SplashOutputDev() = default;
+
class QImageDumpingQPainterOutputDev : public QPainterOutputDev, public OutputDevCallbackHelper
{
public:
QImageDumpingQPainterOutputDev(QPainter *painter, QImage *i) : QPainterOutputDev(painter), image(i) { }
+ ~QImageDumpingQPainterOutputDev() override;
void dump() override
{
@@ -180,6 +185,8 @@ private:
QImage *image;
};
+QImageDumpingQPainterOutputDev::~QImageDumpingQPainterOutputDev() = default;
+
Link *PageData::convertLinkActionToLink(::LinkAction *a, const QRectF &linkArea)
{
return convertLinkActionToLink(a, parentDoc, linkArea);
diff --git a/qt6/src/poppler-pdf-converter.cc b/qt6/src/poppler-pdf-converter.cc
index eac6c4dc..fe6ac4e2 100644
--- a/qt6/src/poppler-pdf-converter.cc
+++ b/qt6/src/poppler-pdf-converter.cc
@@ -1,6 +1,6 @@
/* poppler-pdf-converter.cc: qt interface to poppler
* Copyright (C) 2008, Pino Toscano <pino at kde.org>
- * Copyright (C) 2008, 2009, Albert Astals Cid <aacid at kde.org>
+ * Copyright (C) 2008, 2009, 2020, Albert Astals Cid <aacid at kde.org>
*
* 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,12 +33,15 @@ class PDFConverterPrivate : public BaseConverterPrivate
{
public:
PDFConverterPrivate();
+ ~PDFConverterPrivate() override;
PDFConverter::PDFOptions opts;
};
PDFConverterPrivate::PDFConverterPrivate() : BaseConverterPrivate() { }
+PDFConverterPrivate::~PDFConverterPrivate() = default;
+
PDFConverter::PDFConverter(DocumentData *document) : BaseConverter(*new PDFConverterPrivate())
{
Q_D(PDFConverter);
diff --git a/qt6/src/poppler-ps-converter.cc b/qt6/src/poppler-ps-converter.cc
index 5519b0cd..65551678 100644
--- a/qt6/src/poppler-ps-converter.cc
+++ b/qt6/src/poppler-ps-converter.cc
@@ -1,5 +1,5 @@
/* poppler-ps-converter.cc: qt interface to poppler
- * Copyright (C) 2007, 2009, 2010, 2015, Albert Astals Cid <aacid at kde.org>
+ * Copyright (C) 2007, 2009, 2010, 2015, 2020, Albert Astals Cid <aacid at kde.org>
* Copyright (C) 2008, Pino Toscano <pino at kde.org>
* Copyright (C) 2010 Hib Eris <hib at hiberis.nl>
* Copyright (C) 2011 Glad Deschrijver <glad.deschrijver at gmail.com>
@@ -41,6 +41,7 @@ class PSConverterPrivate : public BaseConverterPrivate
{
public:
PSConverterPrivate();
+ ~PSConverterPrivate() override;
QList<int> pageList;
QString title;
@@ -75,6 +76,8 @@ PSConverterPrivate::PSConverterPrivate()
{
}
+PSConverterPrivate::~PSConverterPrivate() = default;
+
PSConverter::PSConverter(DocumentData *document) : BaseConverter(*new PSConverterPrivate())
{
Q_D(PSConverter);
diff --git a/splash/SplashPattern.cc b/splash/SplashPattern.cc
index b0d277eb..c433d422 100644
--- a/splash/SplashPattern.cc
+++ b/splash/SplashPattern.cc
@@ -12,6 +12,7 @@
// under GPL version 2 or later
//
// Copyright (C) 2010, 2011 Thomas Freitag <Thomas.Freitag at alfa.de>
+// Copyright (C) 2020 Albert Astals Cid <aacid at kde.org>
//
// 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
@@ -48,3 +49,9 @@ bool SplashSolidColor::getColor(int x, int y, SplashColorPtr c)
splashColorCopy(c, color);
return true;
}
+
+//------------------------------------------------------------------------
+// SplashGouraudColor
+//------------------------------------------------------------------------
+
+SplashGouraudColor::~SplashGouraudColor() = default;
diff --git a/splash/SplashPattern.h b/splash/SplashPattern.h
index 75e5e93b..dd12466e 100644
--- a/splash/SplashPattern.h
+++ b/splash/SplashPattern.h
@@ -90,6 +90,8 @@ private:
class SplashGouraudColor : public SplashPattern
{
public:
+ ~SplashGouraudColor() override;
+
virtual bool isParameterized() = 0;
virtual int getNTriangles() = 0;
diff --git a/utils/pdftohtml.cc b/utils/pdftohtml.cc
index bbf4bf4f..23e8cef4 100644
--- a/utils/pdftohtml.cc
+++ b/utils/pdftohtml.cc
@@ -13,7 +13,7 @@
// All changes made under the Poppler project to this file are licensed
// under GPL version 2 or later
//
-// Copyright (C) 2007-2008, 2010, 2012, 2015-2019 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2007-2008, 2010, 2012, 2015-2020 Albert Astals Cid <aacid at kde.org>
// Copyright (C) 2010 Hib Eris <hib at hiberis.nl>
// Copyright (C) 2010 Mike Slegeir <tehpola at yahoo.com>
// Copyright (C) 2010, 2013 Suzuki Toshiya <mpsuzuki at hiroshima-u.ac.jp>
@@ -144,7 +144,7 @@ class SplashOutputDevNoText : public SplashOutputDev
public:
SplashOutputDevNoText(SplashColorMode colorModeA, int bitmapRowPadA, bool reverseVideoA, SplashColorPtr paperColorA, bool bitmapTopDownA = true)
: SplashOutputDev(colorModeA, bitmapRowPadA, reverseVideoA, paperColorA, bitmapTopDownA) { }
- ~SplashOutputDevNoText() override { }
+ ~SplashOutputDevNoText() override;
void drawChar(GfxState *state, double x, double y, double dx, double dy, double originX, double originY, CharCode code, int nBytes, const Unicode *u, int uLen) override { }
bool beginType3Char(GfxState *state, double x, double y, double dx, double dy, CharCode code, const Unicode *u, int uLen) override { return false; }
@@ -153,6 +153,9 @@ public:
void endTextObject(GfxState *state) override { }
bool interpretType3Chars() override { return false; }
};
+
+SplashOutputDevNoText::~SplashOutputDevNoText() = default;
+
#endif
int main(int argc, char *argv[])
commit 9625dfa3c22dcb9075e062912cdf8c60b379d7d8
Author: Albert Astals Cid <aacid at kde.org>
Date: Thu Oct 29 14:29:11 2020 +0100
qt6: properly namespace enums to use the correct ones
diff --git a/qt6/src/poppler-annotation.cc b/qt6/src/poppler-annotation.cc
index 627f70fd..879c8900 100644
--- a/qt6/src/poppler-annotation.cc
+++ b/qt6/src/poppler-annotation.cc
@@ -1602,11 +1602,11 @@ TextAnnotation::InplaceAlignPosition TextAnnotation::inplaceAlign() const
if (d->pdfAnnot->getType() == Annot::typeFreeText) {
const AnnotFreeText *ftextann = static_cast<const AnnotFreeText *>(d->pdfAnnot);
switch (ftextann->getQuadding()) {
- case quaddingLeftJustified:
+ case AnnotFreeText::quaddingLeftJustified:
return InplaceAlignLeft;
- case quaddingCentered:
+ case AnnotFreeText::quaddingCentered:
return InplaceAlignCenter;
- case quaddingRightJustified:
+ case AnnotFreeText::quaddingRightJustified:
return InplaceAlignRight;
}
}
commit 1635cbced1c8fcf9a933324908502e7e45429ace
Author: Albert Astals Cid <aacid at kde.org>
Date: Thu Oct 29 14:22:11 2020 +0100
stress-threads-qt6: Remove unused seed
diff --git a/qt6/tests/stress-threads-qt6.cpp b/qt6/tests/stress-threads-qt6.cpp
index 3803fd06..9f9734d6 100644
--- a/qt6/tests/stress-threads-qt6.cpp
+++ b/qt6/tests/stress-threads-qt6.cpp
@@ -34,12 +34,11 @@ class CrazyThread : public QThread
{
Q_OBJECT
public:
- CrazyThread(uint seed, Poppler::Document *document, QMutex *annotationMutex, QObject *parent = nullptr);
+ CrazyThread(Poppler::Document *document, QMutex *annotationMutex, QObject *parent = nullptr);
void run() override;
private:
- uint m_seed;
Poppler::Document *m_document;
QMutex *m_annotationMutex;
};
@@ -86,7 +85,7 @@ void SillyThread::run()
}
}
-CrazyThread::CrazyThread(uint seed, Poppler::Document *document, QMutex *annotationMutex, QObject *parent) : QThread(parent), m_seed(seed), m_document(document), m_annotationMutex(annotationMutex) { }
+CrazyThread::CrazyThread(Poppler::Document *document, QMutex *annotationMutex, QObject *parent) : QThread(parent), m_document(document), m_annotationMutex(annotationMutex) { }
void CrazyThread::run()
{
@@ -264,7 +263,7 @@ int main(int argc, char **argv)
QMutex *annotationMutex = new QMutex();
for (int i = 0; i < crazyCount; ++i) {
- (new CrazyThread(QRandomGenerator::global()->generate(), document, annotationMutex))->start();
+ (new CrazyThread(document, annotationMutex))->start();
}
}
More information about the poppler
mailing list