aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf/QPDF.cc
diff options
context:
space:
mode:
authorm-holger <m-holger@kubitscheck.org>2022-08-06 20:52:07 +0200
committerm-holger <m-holger@kubitscheck.org>2022-08-28 23:15:59 +0200
commitc53d54b13dc6ad369646a09c64d392549effac38 (patch)
treec26a8d6477b5a175f483affed2782a969d39142d /libqpdf/QPDF.cc
parentcef6425bcac678157f58e9eafabb7e63c5831d18 (diff)
downloadqpdf-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.cc10
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) {