summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorRobin Watts <robin.watts@artifex.com>2015-03-25 17:51:47 +0000
committerRobin Watts <robin.watts@artifex.com>2015-03-25 18:22:48 +0000
commit0bbafc586f1431d4a0059bb9c90981624d67e469 (patch)
tree80d3a3e32822eac62781a1954010c926b1aadf48 /source
parentfd2ca50b85bd6aa2e2fe474dc1b9f6d5a6ffaa32 (diff)
downloadmupdf-0bbafc586f1431d4a0059bb9c90981624d67e469.tar.xz
Bug 695878: Add entry to fz_outline to indicate if outline entry is open
Adopt a (trivially modified) patch provided by Simon Reinhardt. When loading pdf outlines, if the 'Count' field is positive, the outline entry should be considered open.
Diffstat (limited to 'source')
-rw-r--r--source/pdf/pdf-outline.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/source/pdf/pdf-outline.c b/source/pdf/pdf-outline.c
index 8f83fdf9..e8635551 100644
--- a/source/pdf/pdf-outline.c
+++ b/source/pdf/pdf-outline.c
@@ -23,6 +23,7 @@ pdf_load_outline_imp(fz_context *ctx, pdf_document *doc, pdf_obj *dict)
node->dest.kind = FZ_LINK_NONE;
node->down = NULL;
node->next = NULL;
+ node->is_open = 0;
*prev = node;
prev = &node->next;
@@ -37,8 +38,14 @@ pdf_load_outline_imp(fz_context *ctx, pdf_document *doc, pdf_obj *dict)
obj = pdf_dict_get(ctx, dict, PDF_NAME_First);
if (obj)
+ {
node->down = pdf_load_outline_imp(ctx, doc, obj);
+ obj = pdf_dict_gets(ctx, dict, PDF_NAME_Count);
+ if (pdf_to_int(ctx, obj) > 0)
+ node->is_open = 1;
+ }
+
dict = pdf_dict_get(ctx, dict, PDF_NAME_Next);
}
}