diff options
Diffstat (limited to 'libqpdf/QPDFObjectHandle.cc')
-rw-r--r-- | libqpdf/QPDFObjectHandle.cc | 17 |
1 files changed, 4 insertions, 13 deletions
diff --git a/libqpdf/QPDFObjectHandle.cc b/libqpdf/QPDFObjectHandle.cc index 242e0fb2..9153e33f 100644 --- a/libqpdf/QPDFObjectHandle.cc +++ b/libqpdf/QPDFObjectHandle.cc @@ -2298,20 +2298,11 @@ QPDFObjectHandle::copyObject1( QPDFObjectHandle QPDFObjectHandle::unsafeShallowCopy() { - QPDFObjectHandle result; - shallowCopyInternal2(result); - return result; -} - -void -QPDFObjectHandle::shallowCopyInternal2(QPDFObjectHandle& new_obj) -{ - assertInitialized(); - - if (isStream()) { - throw std::runtime_error("attempt to make a shallow copy of a stream"); + if (!dereference()) { + throw std::logic_error("operation attempted on uninitialized " + "QPDFObjectHandle"); } - new_obj = QPDFObjectHandle(obj->copy(true)); + return QPDFObjectHandle(obj->copy(true)); } void |