aboutsummaryrefslogtreecommitdiffstats
path: root/TODO
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2021-01-02 18:05:09 +0100
committerJay Berkenbilt <ejb@ql.org>2021-01-02 20:08:17 +0100
commitbedf35d6a55a9092485d56002b50bc9003ce7931 (patch)
tree80af63d963a4e23ea3c88a29dc607b18cdf99679 /TODO
parenta139d2b36da39fbfb018ef6973e9316a64a4ca6c (diff)
downloadqpdf-bedf35d6a55a9092485d56002b50bc9003ce7931.tar.zst
Bug fix: avoid extraneous pipeline finish calls with multiple contents
Avoid calling finish() multiple times on the pipeline passed to pipeContentStreams. This commit also fixes a bug in which qpdf was not exiting with the proper exit status if warnings found while splitting pages; this was exposed by a test case that changed.
Diffstat (limited to 'TODO')
-rw-r--r--TODO17
1 files changed, 0 insertions, 17 deletions
diff --git a/TODO b/TODO
index 857fb701..0cf8017d 100644
--- a/TODO
+++ b/TODO
@@ -16,23 +16,6 @@ Candidates for upcoming release
definition of an object without breaking compatibility
* See if the objects part can be sorted by object number
-* QPDFObjectHandle::pipeContentStreams calls finish() after each
- stream. In some code paths, Pl_Concatenate is used, which suppresses
- that, but in other code paths, it's not used, and the library relies
- on the behavior of finish() being called. Then there's the issue of
- nested Pl_Concatenate pipelines -- calling manualFinish() on the top
- one doesn't call manualFinish() on the lower ones, and there are no
- exposed methods that allow us to apply things down the pipeline
- stack, so it's hard to fix this without changing the API (at least
- making Pipeline::getNext() public, which may be undesirable). To see
- this problem in action, stick a Pl_Concatenate in front of the
- pipeline in pipeContentStreams and observe the test failure. One
- solution might be to add an additional argument indicating whether
- or not to delay calling finish() until the end. See comments on
- QPDFPageObjectHelper::filterPageContents,
- QPDFObjectHandle::filterPageContents, and
- QPDFObjectHandle::pipeContentStreams
-
* Remember to check work `qpdf` project for private issues
* file with very slow page extraction
* big page even with --remove-unreferenced-resources=yes, even with --empty