aboutsummaryrefslogtreecommitdiffstats
path: root/TODO
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2010-03-27 16:53:44 +0100
committerJay Berkenbilt <ejb@ql.org>2010-03-27 16:53:44 +0100
commita800b4eaa125f424fb6fc6868a64a020a22aa7fb (patch)
treef678dfa2d8cacbd2a11cb6b1e6f3b1690e4af490 /TODO
parent218900d2c3d155ee139338414f7a57921636de38 (diff)
downloadqpdf-a800b4eaa125f424fb6fc6868a64a020a22aa7fb.tar.zst
updated ChangeLog
git-svn-id: svn+q:///qpdf/trunk@947 71b93d88-0707-0410-a8cf-f5a4172ac649
Diffstat (limited to 'TODO')
-rw-r--r--TODO26
1 files changed, 26 insertions, 0 deletions
diff --git a/TODO b/TODO
index d27ba473..58e8e3de 100644
--- a/TODO
+++ b/TODO
@@ -15,6 +15,32 @@
General
=======
+ * See whether it's possible to remove the call to
+ flattenScalarReferences. I can't easily figure out why I do it,
+ but removing it causes strange test failures in linearization. I
+ would have to study the optimization and linearization code to
+ figure out why I added this to begin with and what in the code
+ assumes it's the case. For enqueueObject and unparseChild in
+ QPDFWriter, simply removing the checks for indirect scalars seems
+ sufficient.
+
+ To pursue this, remove the call to flattenScalarReferences in
+ QPDFWriter.cc and disable the logic_error exceptions for indirect
+ scalars. Just search for flattenScalarReferences in QPDFWriter.cc
+ since the logic errors have comments that mention
+ flattenScalarReferences. Then run the test suite. Several files
+ that explicitly test flattening of scalar references fail, but the
+ indirect scalars are properly preserved and written. But then
+ there are some linearized files that have a bunch of unreferenced
+ objects that contain scalars. Need to figure out what these are
+ and why they're there. Maybe they're objects that used to be
+ stream lengths. Probably we just need to make sure don't traverse
+ through a stream's /Length stream when enqueueing stream
+ dictionaries.
+
+ If flattenScalarReferences is removed, a new method will be needed
+ for checking PDF files.
+
* For debugging linearization bugs, consider adding an option to save
pass 1 of linearization. This code is sufficient. Change the
interface to allow specification of a pass1 file, which would