diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/qpdf/QPDF.hh | 2 | ||||
-rw-r--r-- | include/qpdf/QPDFObjectHandle.hh | 18 |
2 files changed, 17 insertions, 3 deletions
diff --git a/include/qpdf/QPDF.hh b/include/qpdf/QPDF.hh index 12d41eff..469bad55 100644 --- a/include/qpdf/QPDF.hh +++ b/include/qpdf/QPDF.hh @@ -1180,6 +1180,8 @@ class QPDF void stopOnError(std::string const& message); QPDFObjectHandle reserveObjectIfNotExists(QPDFObjGen const& og); QPDFObjectHandle reserveStream(QPDFObjGen const& og); + QPDFObjectHandle + newIndirect(QPDFObjGen const&, std::shared_ptr<QPDFObject> const&); // Calls finish() on the pipeline when done but does not delete it bool pipeStreamData( diff --git a/include/qpdf/QPDFObjectHandle.hh b/include/qpdf/QPDFObjectHandle.hh index beb69421..3c7b62f8 100644 --- a/include/qpdf/QPDFObjectHandle.hh +++ b/include/qpdf/QPDFObjectHandle.hh @@ -1443,9 +1443,12 @@ class QPDFObjectHandle private: static QPDFObjectHandle - newIndirect(QPDF* qpdf, QPDFObjGen const& og) + newIndirect( + QPDF* qpdf, + QPDFObjGen const& og, + std::shared_ptr<QPDFObject> const& obj) { - return QPDFObjectHandle::newIndirect(qpdf, og); + return QPDFObjectHandle(qpdf, og, obj); } static QPDFObjectHandle newStream( @@ -1557,7 +1560,16 @@ class QPDFObjectHandle bool isImage(bool exclude_imagemask = true); private: - QPDFObjectHandle(QPDF*, QPDFObjGen const& og); + QPDFObjectHandle( + QPDF* qpdf, + QPDFObjGen const& og, + std::shared_ptr<QPDFObject> const& obj) : + initialized(true), + qpdf(qpdf), + og(og), + obj(obj) + { + } QPDFObjectHandle(std::shared_ptr<QPDFObject> const&); // Private object factory methods |