-
…s for consistency with refactored AcroForm structure.
-
…ion and leveraging shared components.
-
- Modify `traverseField` to return `bool` for identifying invalid fields. - Add `bad_fields` set to track and handle problematic fields. - Improve error handling for invalid parent entries.
-
… for clarity and consistency across dictionary operations.
-
…ent and simplified temporary null management. Clean up unused test coverage markers.
-
…t` consistency to handle invalid entries, and improve loop detection logic.
-
…` parameter, update conditional checks, and streamline logic for field and annotation handling. Tighten validation of the PDF spec requirements that form fields form a tree and that widget annotations have a single parent by utilizing `field_to` and `annotation_to_field` in the loop detection check.
-
Replace direct access to document helpers (`acroform()`, `pages()`, `embedded_files()`, etc.) with calls through `QPDF::doc()` for better encapsulation. Adjust related methods, constructors, and memory management accordingly.
-
… redundant `initialized_dr_map` flag and directly checking `dr`.
-
…g with `Dictionary` and `Array`.
-
… with `std::deque` in `traverse_field` for better performance and simplify traversal logic.
-
…ield` function to increase code clarity.
-
…h `std::list<Dictionary>`, simplify `/Kids` handling, and update method calls for consistency.
-
…annotation` to increase code clarity.
-
…h operator[], update type handling for clarity and consistency, and streamline resource merging.
-
…roFormDocumentHelper`, replace redundant maps with `FieldData` encapsulation.
-
…n `QPDFOutlineObjectHelper` and `QPDFOutlineDocumentHelper`.
-
…n `QPDFAcroFormDocumentHelper`.
-
…e memory management, and streamline class definition.
-
…e()` for re-validation and repair of AcroForm structure.
-
…roduce `empty` checks, and use `std::cmp_less` and `emplace_back` for better clarity and efficiency.
-
…`warn`, streamline condition handling.
-
Refactored several classes to use C++11 `final` specifiers for inheritance restrictions and added default member initializations. These changes enhance code clarity, improve safety, and ensure modern coding practices.
-
Simplified checks for empty containers and strings across the codebase using the `.empty()` method. This improves code readability and adheres to best practices for checking emptiness.
-
Converted multiple occurrences of `count()` to `contains()` throughout the codebase where the goal was to check key existence in containers. This improves code readability and aligns with modern C++ practices, particularly with C++20, making the intent more explicit and potentially aiding performance.
-
This improves indentation of long strings. This commit also fixes some trailing whitespace in ChangeLog.
-
Rather than adding yet another flag that is almost never useful on its own, just have --remove-restrictions disable digital signatures. The operations are still separate in the API.