aboutsummaryrefslogtreecommitdiffstats
path: root/TODO
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2019-04-20 22:30:22 +0200
committerJay Berkenbilt <ejb@ql.org>2019-04-21 03:00:43 +0200
commita5a016cdd26a8e5c99e5f019bc30d1bdf6c050a2 (patch)
treeb276b4067f623a286a6961e5b8788c4344f826b1 /TODO
parent8ce3b53cea65f4b2a5dc9a72ba87d62d379b3a7c (diff)
downloadqpdf-a5a016cdd26a8e5c99e5f019bc30d1bdf6c050a2.tar.zst
Revert preservations of outlines with --split-pages
The preservation of outlines didn't provide very useful behavior anyway as it copied all outlines but most didn't work. This implementation also caused a very significant performance hit and so is being reverted until a proper solution can be coded. The eventual solution will not be compatible with the reverted solution anyway, so it's best not to leave this in.
Diffstat (limited to 'TODO')
-rw-r--r--TODO11
1 files changed, 11 insertions, 0 deletions
diff --git a/TODO b/TODO
index a86e472f..a6ff5baf 100644
--- a/TODO
+++ b/TODO
@@ -77,6 +77,17 @@ Page splitting/merging
* make sure conflicting named destinations work possibly test by
including the same file by two paths in a merge
+ Note: original implementation of bookmark preservation for split
+ pages caused a very high performance hit. The problem was
+ introduced in 313ba081265f69ac9a0324f9fe87087c72918191 and reverted
+ in the commit that adds this paragraph. The revert includes marking
+ a few tests cases as $td->EXPECT_FAILURE. When properly coded, the
+ test cases will need to be adjusted to only include the parts of
+ the outlines that are actually copied. The tests in question are
+ "split page with outlines". When implementing properly, ensure that
+ the performance is not adversely affected by timing split-pages on
+ a large file with complex outlines such as the PDF specification.
+
When pruning outlines, keep all outlines in the hierarchy that are
above an outline for a page we care about. If one of the ancestor
outlines points to a non-existent page, clear its dest. If an