From a5a016cdd26a8e5c99e5f019bc30d1bdf6c050a2 Mon Sep 17 00:00:00 2001 From: Jay Berkenbilt Date: Sat, 20 Apr 2019 16:30:22 -0400 Subject: 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. --- TODO | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'TODO') 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 -- cgit v1.2.3-54-g00ecf