Remove QPDFObjectHandle::initialized

This commit is contained in:
m-holger 2022-08-09 21:34:34 +01:00
parent c7005e8a6d
commit 23d50a2f14
2 changed files with 6 additions and 11 deletions

View File

@ -1584,7 +1584,6 @@ class QPDFObjectHandle
QPDF* qpdf,
QPDFObjGen const& og,
std::shared_ptr<QPDFObject> const& obj) :
initialized(true),
qpdf(qpdf),
og(og),
obj(obj)
@ -1640,8 +1639,6 @@ class QPDFObjectHandle
static void warn(QPDF*, QPDFExc const&);
void checkOwnership(QPDFObjectHandle const&) const;
bool initialized;
// Moving members of QPDFObjectHandle into a smart pointer incurs
// a substantial performance penalty since QPDFObjectHandle
// objects are copied around so frequently.
@ -1888,13 +1885,13 @@ QPDFObjectHandle::getGeneration() const
inline bool
QPDFObjectHandle::isIndirect() const
{
return initialized && (getObjectID() != 0);
return (obj != nullptr) && (getObjectID() != 0);
}
inline bool
QPDFObjectHandle::isInitialized() const
{
return initialized;
return obj != nullptr;
}
// Indirect object accessors
@ -1915,7 +1912,7 @@ QPDFObjectHandle::setParsedOffset(qpdf_offset_t offset)
{
// This is called during parsing on newly created direct objects,
// so we can't call dereference() here.
if (initialized) {
if (isInitialized()) {
this->obj->setParsedOffset(offset);
}
}

View File

@ -236,13 +236,11 @@ LastChar::getLastChar()
}
QPDFObjectHandle::QPDFObjectHandle() :
initialized(false),
qpdf(nullptr)
{
}
QPDFObjectHandle::QPDFObjectHandle(std::shared_ptr<QPDFObject> const& data) :
initialized(true),
qpdf(nullptr),
obj(data)
{
@ -369,7 +367,7 @@ QPDFObjectHandle::isDirectNull() const
// Don't call dereference() -- this is a const method, and we know
// objid == 0, so there's nothing to resolve.
return (
initialized && (getObjectID() == 0) &&
isInitialized() && (getObjectID() == 0) &&
(obj->getTypeCode() == QPDFObject::ot_null));
}
@ -2373,7 +2371,7 @@ QPDFObjectHandle::makeDirect(bool allow_streams)
void
QPDFObjectHandle::assertInitialized() const
{
if (!initialized) {
if (!isInitialized()) {
throw std::logic_error("operation attempted on uninitialized "
"QPDFObjectHandle");
}
@ -2608,7 +2606,7 @@ QPDFObjectHandle::assertPageObject()
bool
QPDFObjectHandle::dereference()
{
if (!this->initialized) {
if (!isInitialized()) {
return false;
}
if (this->obj->getTypeCode() == QPDFObject::ot_unresolved) {