diff options
author | Jay Berkenbilt <jberkenbilt@users.noreply.github.com> | 2022-08-29 22:33:19 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-08-29 22:33:19 +0200 |
commit | 0adfd74f8b5dc96091cd0b4251b08401f54df2ed (patch) | |
tree | 9ff07be139c118dc5bf02f98afeda41162066bfc /libqpdf/QPDF.cc | |
parent | 2b01a79e876d60df7ec330a60cb213f3ecc3559f (diff) | |
parent | c53d54b13dc6ad369646a09c64d392549effac38 (diff) | |
download | qpdf-0adfd74f8b5dc96091cd0b4251b08401f54df2ed.tar.zst |
Merge pull request #747 from m-holger/new_stream
Add optional parameter allow_nullptr to QPDFObjectHandle::getOwningQPDF
Diffstat (limited to 'libqpdf/QPDF.cc')
-rw-r--r-- | libqpdf/QPDF.cc | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/libqpdf/QPDF.cc b/libqpdf/QPDF.cc index b96b0674..6ae74b25 100644 --- a/libqpdf/QPDF.cc +++ b/libqpdf/QPDF.cc @@ -2266,7 +2266,7 @@ QPDF::copyForeignObject(QPDFObjectHandle foreign) throw std::logic_error( "QPDF::copyForeign called with direct object handle"); } - QPDF* other = foreign.getOwningQPDF(); + QPDF* other = foreign.getOwningQPDF(false); if (other == this) { QTC::TC("qpdf", "QPDF copyForeign not foreign"); throw std::logic_error( @@ -2456,11 +2456,9 @@ QPDF::copyStreamData(QPDFObjectHandle result, QPDFObjectHandle foreign) QPDFObjGen local_og(result.getObjGen()); // Copy information from the foreign stream so we can pipe its // data later without keeping the original QPDF object around. - QPDF* foreign_stream_qpdf = foreign.getOwningQPDF(); - if (!foreign_stream_qpdf) { - throw std::logic_error("unable to retrieve owning qpdf" - " from foreign stream"); - } + QPDF* foreign_stream_qpdf = foreign.getOwningQPDF( + false, "unable to retrieve owning qpdf from foreign stream"); + QPDF_Stream* stream = dynamic_cast<QPDF_Stream*>( QPDFObjectHandle::ObjAccessor::getObject(foreign).get()); if (!stream) { |