Skip to content

Fix infinite loop in break_remaining with CustomOutOfFlow inline boxes - #753

Merged
nicoburns merged 2 commits into
linebender:mainfrom
DioxusLabs:fix-752-break-remaining-custom-oof
Aug 18, 2026
Merged

Fix infinite loop in break_remaining with CustomOutOfFlow inline boxes#753
nicoburns merged 2 commits into
linebender:mainfrom
DioxusLabs:fix-752-break-remaining-custom-oof

Conversation

@nicoburns

Copy link
Copy Markdown
Collaborator

Fix infinite loop in break_remaining with CustomOutOfFlow inline boxes. break_next yields on CustomOutOfFlow, boxes without advancing past them, so if break_remaining ignores these yields (as it currently does), it will loop forever with break_next continually returning the same box.

Fix: Advance past the box as zero-sized out-of-flow content instead.

Fixes #752

LLM Contributions: Fix generated with Devin Ultra.

No changelog entry because this will get backported as 0.11.2. Changelog added on v0.11.x branch and then forward-ported to main.

break_next yields on CustomOutOfFlow boxes without advancing past them,
leaving placement to the caller. break_remaining ignored these yields,
so it would loop forever. Advance past the box as zero-sized
out-of-flow content instead.

Fixes linebender#752
@nicoburns nicoburns added the bug Something isn't working label Aug 18, 2026
Comment thread parley_tests/tests/issues.rs Outdated
Comment thread parley/src/layout/line_break.rs Outdated
Signed-off-by: Nico Burns <nico@nicoburns.com>
@nicoburns
nicoburns force-pushed the fix-752-break-remaining-custom-oof branch from 564a16c to ad19e04 Compare August 18, 2026 21:47
@nicoburns
nicoburns enabled auto-merge August 18, 2026 21:47
@nicoburns
nicoburns added this pull request to the merge queue Aug 18, 2026
Merged via the queue into linebender:main with commit 1aba7ca Aug 18, 2026
24 checks passed
@nicoburns
nicoburns deleted the fix-752-break-remaining-custom-oof branch August 18, 2026 21:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Infinite loop in BreakLines::break_remaining (0.11) — specific inline/block nesting + page CSS, layout never terminates (ok on 0.10)

2 participants