Age | Commit message (Collapse) | Author | |
---|---|---|---|
2022-09-08 | Create a special "destroyed" type rather than using null | Jay 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-08 | Clear owning QPDF information for all objects, not just indirect | Jay Berkenbilt | |
2022-09-08 | Remove superfluous call to resetObjGen | Jay Berkenbilt | |
2022-09-07 | Revert getOwningQPDF, and add getQPDF that returns a reference | Jay Berkenbilt | |
2022-09-06 | Rename QPDFObject -> QPDFValueProxy | Jay 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-04 | Fix 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-02 | Disable copying/assigning to QPDF objects, add QPDF::create() | Jay Berkenbilt | |
2022-09-02 | Make QPDFObject::releaseResolved public | Jay Berkenbilt | |
Now that QPDFObject.hh is out of the public API, we don't really need QPDFObjAccessor. Also, the function didn't have to be virtual anymore. | |||
2022-09-02 | Stop including QPDFObject.hh from other than private files | Jay Berkenbilt | |
This required moving some newly inlined functions back to the cc file, but that seems to have had no measurable performance impact. | |||
2022-09-01 | Reset QPDFValue::qpdf and QPDFValue::og when the owning QPDF object gets ↵ | m-holger | |
destroyed | |||
2022-09-01 | Remove methods and parameters obsoleted by the last two commits | m-holger | |
2022-09-01 | Add methods QPDFObject::setObjGen and QPDFObject::resetObjGen | m-holger | |
Also, modify QPDFObject::swapWith to update the ObjGens of the swapped objects. Modify QPDF::newIndirect and QPDF::updateCache to keep object ObjGens up to date. | |||
2022-09-01 | Change QPDF_Unresolved::create method to take QPDF* and QPDFObjGen parameters | m-holger | |
2022-09-01 | Change return type of QPDF::resolve to void | m-holger | |
2022-09-01 | Modify QPDF::getObject to not to resolve the object | m-holger | |
2022-09-01 | Add private method QPDF::ObjCache::update | m-holger | |
Add a new obj_cache entry or update an existing entry in place. | |||
2022-09-01 | Add private methods QPDF::isCached and QPDF::isUnresolved | m-holger | |
2022-09-01 | Remove QPDF::ObjectChanged | m-holger | |
Also change QPDF::replaceObject and QPDF::swapObjects such that the QPDFObject assigned to an og in the obj_cache is never replaced; only QPDFObject::value is updated. | |||
2022-09-01 | Add private methods QPDFObjectHandle::asArray etc | m-holger | |
Centralise casting of QPDFObjects and reduce repeated dereferencing. | |||
2022-08-31 | Modify newIndirect to set QPDFObjectHandle::obj | m-holger | |
2022-08-31 | Remove QPDFObjectHandle::makeReserved | m-holger | |
2022-08-31 | Replace calls to QPDFObjectHandle::Factory::newIndirect where possible | m-holger | |
2022-08-28 | Add optional parameter allow_nullptr to QPDFObjectHandle::getOwningQPDF | m-holger | |
Also, inline method and add optional parameter error_msg. | |||
2022-08-07 | Merge pull request #746 from m-holger/smart | Jay Berkenbilt | |
Code tidy: remove redundant calls to smart_ptrs get() method | |||
2022-08-07 | Code tidy: remove redundant calls to smart_ptrs get() method | m-holger | |
2022-08-01 | Add QPDF::getObject to replace getObjectByObjGen and getObjectByID | m-holger | |
For consistency with similar methods, e.g. replaceObject. | |||
2022-07-26 | Code tidy : replace 0 with nullptr or true | m-holger | |
2022-07-24 | Revert making second parameter of QPDFObjGen::QPDFObjGen optional | m-holger | |
Also, change test for QPDFObjGen::isIndirect to obj != 0. Delete comment from commit afd35f9. | |||
2022-07-24 | Overload StreamDataProvider::provideStreamData | m-holger | |
Use 'QPDFObjGen const&' instead of 'int, int' in signature. | |||
2022-07-24 | QPDFObjGen : tidy QPDF private methods | m-holger | |
Change method signatures to use QPDFObjGen. Use QPDFObjGen methods where possible. Remove redundant QPDF::objGenToIndirect. | |||
2022-07-24 | QPDFObjGen : tidy QPDFObjectHandle private methods | m-holger | |
Change method signature to use QPDFObjGen. | |||
2022-07-24 | QPPFObjGen : tidy QPDF::readObjectAtOffset | m-holger | |
Change method signature to use QPDFObjGen. | |||
2022-07-24 | Add optional parameter separator to QPDFObjGen::unparse | m-holger | |
Also, revert inlining of unparse and operator << from commit 4c6640c in order to avoid exposing QUtil. | |||
2022-07-24 | Clarify intent in readObjectAtOffset | Jay Berkenbilt | |
Rather than using object id -1 to mean "don't care", use object ID 0, and clarify the difference between that use and indication of a direct object. | |||
2022-06-27 | Refactor QPDFObject creation and cloning | m-holger | |
Move responsibility for creating shared pointers to objects and cloning from QPDFObjectHandle to QPDFObject. | |||
2022-06-25 | Track whether certain page modifying methods have been called | Jay Berkenbilt | |
We need to know whether pushInheritedAttributesToPage or getAllPages have been called when generating JSON output. When reading the JSON back in, we have to call the same methods so that object numbers will line up properly. | |||
2022-06-18 | QPDF, QPDFJob: use QPDFLogger instead of custom output streams | Jay Berkenbilt | |
2022-05-21 | Code clean up: use range-style for loops wherever possible | m-holger | |
Remove variables obsoleted by commit 4f24617. | |||
2022-05-21 | Replace std::regex with validators for better performance | Jay Berkenbilt | |
2022-05-20 | Parse objects; stream data is not yet handled | Jay Berkenbilt | |
2022-05-20 | Add private methods for reserving specific objects | Jay Berkenbilt | |
2022-05-16 | Remove offset from missing /Root error | Jay Berkenbilt | |
The last offset is irrelevant to not being able to find /Root. | |||
2022-05-04 | Add new FileInputSource constructors | Jay Berkenbilt | |
2022-05-04 | Make use of the new Pipeline methods in some places | Jay Berkenbilt | |
2022-04-30 | Code clean up: use range-style for loops wherever possible | Jay Berkenbilt | |
Where not possible, use "auto" to get the iterator type. Editorial note: I have avoid this change for a long time because of not wanting to make gratuitous changes to version history, which can obscure when certain changes were made, but with having recently touched every single file to apply automatic code formatting and with making several broad changes to the API, I decided it was time to take the plunge and get rid of the older (pre-C++11) verbose iterator syntax. The new code is just easier to read and understand, and in many cases, it will be more effecient as fewer temporary copies are being made. m-holger, if you're reading, you can see that I've finally come around. :-) | |||
2022-04-30 | Formatting: remove space in range-style for loops | Jay Berkenbilt | |
Change .clang-format and commit automated changes from a fresh run of format-code | |||
2022-04-30 | Use fluent replaceKey | Jay Berkenbilt | |
2022-04-24 | Add new QPDF::warn that takes most of QPDFExc's arguments | Jay Berkenbilt | |
2022-04-16 | Use anonymous namespaces for file-private classes | Jay Berkenbilt | |
2022-04-16 | Use = default and = delete where possible in classes | Jay Berkenbilt | |