From c53d54b13dc6ad369646a09c64d392549effac38 Mon Sep 17 00:00:00 2001 From: m-holger Date: Sat, 6 Aug 2022 19:52:07 +0100 Subject: Add optional parameter allow_nullptr to QPDFObjectHandle::getOwningQPDF Also, inline method and add optional parameter error_msg. --- libqpdf/QPDF.cc | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'libqpdf/QPDF.cc') 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( QPDFObjectHandle::ObjAccessor::getObject(foreign).get()); if (!stream) { -- cgit v1.2.3-54-g00ecf