mirror of
https://github.com/typst/typst
synced 2025-05-18 11:05:28 +08:00
fix accidental error dropping in pending header layout
This commit is contained in:
parent
59dc458188
commit
27557ee155
@ -52,7 +52,7 @@ impl<'a> GridLayouter<'a> {
|
|||||||
_ => (consecutive_headers, Default::default()),
|
_ => (consecutive_headers, Default::default()),
|
||||||
};
|
};
|
||||||
|
|
||||||
self.layout_new_pending_headers(non_conflicting_headers, engine);
|
self.layout_new_pending_headers(non_conflicting_headers, engine)?;
|
||||||
|
|
||||||
// Layout each conflicting header independently, without orphan
|
// Layout each conflicting header independently, without orphan
|
||||||
// prevention (as they don't go into 'pending_headers').
|
// prevention (as they don't go into 'pending_headers').
|
||||||
@ -118,9 +118,9 @@ impl<'a> GridLayouter<'a> {
|
|||||||
&mut self,
|
&mut self,
|
||||||
headers: &'a [Repeatable<Header>],
|
headers: &'a [Repeatable<Header>],
|
||||||
engine: &mut Engine,
|
engine: &mut Engine,
|
||||||
) {
|
) -> SourceResult<()> {
|
||||||
let [first_header, ..] = headers else {
|
let [first_header, ..] = headers else {
|
||||||
return;
|
return Ok(());
|
||||||
};
|
};
|
||||||
// Assuming non-conflicting headers sorted by increasing y, this must
|
// Assuming non-conflicting headers sorted by increasing y, this must
|
||||||
// be the header with the lowest level (sorted by increasing levels).
|
// be the header with the lowest level (sorted by increasing levels).
|
||||||
@ -148,12 +148,14 @@ impl<'a> GridLayouter<'a> {
|
|||||||
self.layout_headers(
|
self.layout_headers(
|
||||||
HeadersToLayout::NewHeaders { headers, short_lived: false },
|
HeadersToLayout::NewHeaders { headers, short_lived: false },
|
||||||
engine,
|
engine,
|
||||||
);
|
)?;
|
||||||
|
|
||||||
// After the first subsequent row is laid out, move to repeating, as
|
// After the first subsequent row is laid out, move to repeating, as
|
||||||
// it's then confirmed the headers won't be moved due to orphan
|
// it's then confirmed the headers won't be moved due to orphan
|
||||||
// prevention anymore.
|
// prevention anymore.
|
||||||
self.pending_headers = headers;
|
self.pending_headers = headers;
|
||||||
|
|
||||||
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn flush_pending_headers(&mut self) {
|
pub fn flush_pending_headers(&mut self) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user