aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf/QPDF.cc
AgeCommit message (Collapse)Author
2023-05-20Merge pull request #929 from m-holger/ogguardJay Berkenbilt
Add new convenience class QPDFObjGen::Guard
2023-05-20Replace 'virtual' specifier with 'override'm-holger
2023-05-20Remove redundant 'virtual' specifiersm-holger
2023-05-20Use auto when declaring iteratorsm-holger
2023-05-20Use auto when initialializing with newm-holger
2023-05-20Replace deprecated C++ includesm-holger
2023-05-19Use QPDFObjGen::set in QPDF::replaceForeignIndirectObjectsm-holger
2023-05-19Use QPDFObjGen::set in QPDF::getCompressibleObjGensm-holger
2023-04-11Prevent destruction of shared null objectsm-holger
#863 uses a single null object for nulls that were previously implicit. In certain circumstances this shared null object gets destroyed (i.e changed to a QPDF_Destroyed object) when a QPDF object is destroyed. Modify the QPDF destructor so that null objects get disconnected from the dying QPDF object but not destroyed to prevent this from happening.
2023-04-01Merge pull request #930 from m-holger/throwJay Berkenbilt
Code tidy re-throwing of exceptions
2023-03-19Warn if catalog type entry is invalid (fixes #810)m-holger
2023-03-19Code tidy re-throwing of exceptionsm-holger
Avoid copying exceptions.
2023-02-19Move most QPDF initializations to headerJay Berkenbilt
2023-01-28Implement --remove-restrictions (fixes #833)Jay Berkenbilt
2023-01-22Tidy QPDFXRefEntry creationm-holger
2023-01-01Remove QPDFObjectHandle::Factory and ObjAccessorm-holger
2022-12-31Add new method QPDFObject::setDefaultDescriptionm-holger
2022-12-06Alternative fix logic for fixDanglingReferencesm-holger
2022-11-27Fix logic for fixDanglingReferencesJay Berkenbilt
2022-11-26Refactor QPDF::fixDanglingReferencesm-holger
2022-11-20Rename function for pikepdf (for 11.2.0)v11.2.011.2Jay Berkenbilt
A new private overload of QPDF::makeIndirectObject breaks pikepdf's build, so renaming function.
2022-11-20Add methods QPDFTokenizer::Token::isWordm-holger
2022-11-20Add method QPDFTokenizer::Token::isIntegerm-holger
2022-11-19Correctly handle reuse of xref stream (fixes #809)Jay Berkenbilt
2022-11-19Remove QPDF_Stream::getOffset and QPDF_Stream::setObjGenm-holger
2022-11-19Remove QPDF_Stream::offsetm-holger
2022-11-19Remove QPDFObjectHandle::Factory::newStreamm-holger
2022-11-19Use QPDF::newStream in librarym-holger
2022-11-19Add new methods QPDF::newStreamm-holger
2022-11-19Add private method QPDF::nextObjGenm-holger
2022-11-19Add private overload of QPDF::makeIndirectObject taking a QPDFObject shared_ptrm-holger
2022-10-01Inline call to QPDFObjectHandle::parse in QPDF::readObjectm-holger
2022-10-01Code tidy: use QPDF::toS and QPDF::toI where possiblem-holger
2022-10-01Add private methods QPDF::damagedPDFm-holger
2022-09-21Replace calls to QUtil::int_to_string with std::to_stringm-holger
2022-09-14Cosmetic: use default constructor for QPDFObjGenJay Berkenbilt
2022-09-13Remove explicit direct object check from getObjectJay Berkenbilt
An indirect object reference to 0, 0 is invalid. If it appears in the file or is parsed from a string, the parser catches it. This check would only be useful for someone explicitly calling getObject with 0, 0, and that would trigger an error during resolve().
2022-09-13Remove redundant function callsJay Berkenbilt
2022-09-13Fix up a few commentsJay Berkenbilt
2022-09-09Make QPDFLogger() private and provide create methodJay Berkenbilt
2022-09-08Rename QPDFValueProxy back to QPDFObjectJay Berkenbilt
QPDFValueProxy wasn't a good name for it. We decided the evil of having the header file be named QPDFObject_private.hh was less than the evil of having the class be named something other than what it should have been named.
2022-09-08Rename QPDFValueProxy.hh and QPDFValueProxy.ccJay Berkenbilt
Preparing to change the class name back to QPDFObject
2022-09-08Change reset to disconnect and clarify commentsJay Berkenbilt
I decided that it's actually fine to copy a direct object to another QPDF. Even if we eventually prevent a QPDFObject from having multiple parents, this could happen if an object is moved.
2022-09-08Create a special "destroyed" type rather than using nullJay Berkenbilt
When a QPDF is destroyed, changing indirect objects to direct nulls makes them effectively disappear silently when they sneak into other places. Instead, we should treat this as an error. Adding a destroyed object type makes this possible.
2022-09-08Clear owning QPDF information for all objects, not just indirectJay Berkenbilt
2022-09-08Remove superfluous call to resetObjGenJay Berkenbilt
2022-09-07Revert getOwningQPDF, and add getQPDF that returns a referenceJay Berkenbilt
2022-09-06Rename QPDFObject -> QPDFValueProxyJay Berkenbilt
This is in preparation for restoring a QPDFObject.hh to ease the transition on qpdf_object_type_e. This commit was created by * Renaming QPDFObject.cc and QPDFObject.hh * Replacing QPDFObject\b with QPDFValueProxy (where \b is word boundary) * Running format-code * Manually resorting files in libqpdf/CMakeLists.txt * Manually refilling the comment in QPDF.hh near class Resolver
2022-09-04Fix commit 805c1ad : Reset QPDFValue::qpdf and QPDFValue::og when ...m-holger
On destruction of the QPDF object replace all indirect object references with direct nulls. Remove all existing code to release resolved references. Fixes performance issue due to interaction of resetting QPDFValue::qpdf and og members and prior code.
2022-09-02Disable copying/assigning to QPDF objects, add QPDF::create()Jay Berkenbilt