aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorm-holger <m-holger@kubitscheck.org>2022-08-02 17:20:24 +0200
committerm-holger <m-holger@kubitscheck.org>2022-08-31 23:47:11 +0200
commit2a2eebcaea2b27bc86390dac2ee27ad5620f5eda (patch)
tree3bc8a88d4349bee6275d9f36dd65e8af7773cc2f /include
parent16841bec32bb4323a60699cf42f0d74ef495b73f (diff)
downloadqpdf-2a2eebcaea2b27bc86390dac2ee27ad5620f5eda.tar.zst
Modify newIndirect to set QPDFObjectHandle::obj
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