summaryrefslogtreecommitdiff
path: root/src/export
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2023-05-11 11:27:00 +0200
committerLaurenz <laurmaedje@gmail.com>2023-05-11 11:27:00 +0200
commit2f0b5eeae09bd880e4552bb83e44d9cd32571c58 (patch)
tree6989d423e6bb614b3224be53140e4d649033aeac /src/export
parent47dff3765de863554ca296448555599fc50d4a8a (diff)
More efficient introspection
Switches from a mutable locator to one based on tracked chains and optimizes query performance.
Diffstat (limited to 'src/export')
-rw-r--r--src/export/pdf/outline.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/export/pdf/outline.rs b/src/export/pdf/outline.rs
index c156ecaf..d4e4c8ef 100644
--- a/src/export/pdf/outline.rs
+++ b/src/export/pdf/outline.rs
@@ -12,7 +12,7 @@ use crate::util::NonZeroExt;
pub fn write_outline(ctx: &mut PdfContext) -> Option<Ref> {
let mut tree: Vec<HeadingNode> = vec![];
for heading in ctx.introspector.query(&item!(heading_func).select()) {
- let leaf = HeadingNode::leaf(heading);
+ let leaf = HeadingNode::leaf((*heading).clone());
if let Some(last) = tree.last_mut() {
if last.try_insert(leaf.clone(), NonZeroUsize::ONE) {
continue;