aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/qpdf/QPDF.hh2
-rw-r--r--include/qpdf/QPDFObjectHandle.hh18
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