diff options
-rw-r--r-- | include/qpdf/QPDFNameTreeObjectHelper.hh | 8 | ||||
-rw-r--r-- | include/qpdf/QPDFNumberTreeObjectHelper.hh | 8 | ||||
-rw-r--r-- | libqpdf/QPDFNameTreeObjectHelper.cc | 7 | ||||
-rw-r--r-- | libqpdf/QPDFNumberTreeObjectHelper.cc | 7 |
4 files changed, 22 insertions, 8 deletions
diff --git a/include/qpdf/QPDFNameTreeObjectHelper.hh b/include/qpdf/QPDFNameTreeObjectHelper.hh index 7093ca2e..006ab158 100644 --- a/include/qpdf/QPDFNameTreeObjectHelper.hh +++ b/include/qpdf/QPDFNameTreeObjectHelper.hh @@ -42,7 +42,7 @@ class NNTreeImpl; class NNTreeIterator; class NNTreeDetails; -class QPDFNameTreeObjectHelper: public QPDFObjectHelper +class QPDF_DLL_CLASS QPDFNameTreeObjectHelper: public QPDFObjectHelper { public: // The qpdf object is required so that this class can issue @@ -55,7 +55,7 @@ class QPDFNameTreeObjectHelper: public QPDFObjectHelper static QPDFNameTreeObjectHelper newEmpty(QPDF&, bool auto_repair = true); QPDF_DLL - virtual ~QPDFNameTreeObjectHelper() = default; + virtual ~QPDFNameTreeObjectHelper(); // Return whether the number tree has an explicit entry for this // number. @@ -67,7 +67,7 @@ class QPDFNameTreeObjectHelper: public QPDFObjectHelper QPDF_DLL bool findObject(std::string const& utf8, QPDFObjectHandle& oh); - class iterator + class QPDF_DLL_PRIVATE iterator { friend class QPDFNameTreeObjectHelper; @@ -181,7 +181,7 @@ class QPDFNameTreeObjectHelper: public QPDFObjectHelper void setSplitThreshold(int); private: - class Members + class QPDF_DLL_PRIVATE Members { friend class QPDFNameTreeObjectHelper; diff --git a/include/qpdf/QPDFNumberTreeObjectHelper.hh b/include/qpdf/QPDFNumberTreeObjectHelper.hh index b053b5f4..c1ffc251 100644 --- a/include/qpdf/QPDFNumberTreeObjectHelper.hh +++ b/include/qpdf/QPDFNumberTreeObjectHelper.hh @@ -39,7 +39,7 @@ class NNTreeImpl; class NNTreeIterator; class NNTreeDetails; -class QPDFNumberTreeObjectHelper: public QPDFObjectHelper +class QPDF_DLL_CLASS QPDFNumberTreeObjectHelper: public QPDFObjectHelper { public: // The qpdf object is required so that this class can issue @@ -49,7 +49,7 @@ class QPDFNumberTreeObjectHelper: public QPDFObjectHelper QPDFObjectHandle, QPDF&, bool auto_repair = true); QPDF_DLL - virtual ~QPDFNumberTreeObjectHelper() = default; + virtual ~QPDFNumberTreeObjectHelper(); // Create an empty number tree QPDF_DLL @@ -85,7 +85,7 @@ class QPDFNumberTreeObjectHelper: public QPDFObjectHelper bool findObjectAtOrBelow( numtree_number idx, QPDFObjectHandle& oh, numtree_number& offset); - class iterator + class QPDF_DLL_PRIVATE iterator { friend class QPDFNumberTreeObjectHelper; @@ -200,7 +200,7 @@ class QPDFNumberTreeObjectHelper: public QPDFObjectHelper void setSplitThreshold(int); private: - class Members + class QPDF_DLL_PRIVATE Members { friend class QPDFNumberTreeObjectHelper; typedef QPDFNumberTreeObjectHelper::numtree_number numtree_number; diff --git a/libqpdf/QPDFNameTreeObjectHelper.cc b/libqpdf/QPDFNameTreeObjectHelper.cc index f1adca0a..f388dccf 100644 --- a/libqpdf/QPDFNameTreeObjectHelper.cc +++ b/libqpdf/QPDFNameTreeObjectHelper.cc @@ -34,6 +34,13 @@ namespace static NameTreeDetails name_tree_details; +QPDFNameTreeObjectHelper::~QPDFNameTreeObjectHelper() +{ + // Must be explicit and not inline -- see QPDF_DLL_CLASS in + // README-maintainer. For this specific class, see github issue + // #745. +} + QPDFNameTreeObjectHelper::Members::Members( QPDFObjectHandle& oh, QPDF& q, bool auto_repair) : impl(std::make_shared<NNTreeImpl>(name_tree_details, q, oh, auto_repair)) diff --git a/libqpdf/QPDFNumberTreeObjectHelper.cc b/libqpdf/QPDFNumberTreeObjectHelper.cc index 76eec678..6443416d 100644 --- a/libqpdf/QPDFNumberTreeObjectHelper.cc +++ b/libqpdf/QPDFNumberTreeObjectHelper.cc @@ -35,6 +35,13 @@ namespace static NumberTreeDetails number_tree_details; +QPDFNumberTreeObjectHelper::~QPDFNumberTreeObjectHelper() +{ + // Must be explicit and not inline -- see QPDF_DLL_CLASS in + // README-maintainer. For this specific class, see github issue + // #745. +} + QPDFNumberTreeObjectHelper::Members::Members( QPDFObjectHandle& oh, QPDF& q, bool auto_repair) : impl(std::make_shared<NNTreeImpl>(number_tree_details, q, oh, auto_repair)) |