diff options
author | m-holger <m-holger@kubitscheck.org> | 2022-08-06 20:52:07 +0200 |
---|---|---|
committer | m-holger <m-holger@kubitscheck.org> | 2022-08-28 23:15:59 +0200 |
commit | c53d54b13dc6ad369646a09c64d392549effac38 (patch) | |
tree | c26a8d6477b5a175f483affed2782a969d39142d /libqpdf/QPDF.cc | |
parent | cef6425bcac678157f58e9eafabb7e63c5831d18 (diff) | |
download | qpdf-c53d54b13dc6ad369646a09c64d392549effac38.tar.zst |
Add optional parameter allow_nullptr to QPDFObjectHandle::getOwningQPDF
Also, inline method and add optional parameter error_msg.
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) { |